Интернет магазин китайских планшетных компьютеров |
|
Компьютеры - Магическая кнопка23 января 2011Магическая кнопка это анти-паттерн, очень распространённый в средах визуальной разработки. В этом случае, программист сначала рисует пользовательский интерфейс, а затем пишет бизнес-логику в автоматически созданных методах. Проблемы этого анти-паттерна:
Плохой пример
procedure TForm1.Button1Click;
var
reg: TRegistry;
begin
reg := TRegistry.Create;
try
reg.RootKey := HKey_Current_User;
if reg.OpenKey then
begin
reg.WriteString;
end;
finally
reg.Free;
end;
end;
Хороший примерВ этом случае лучше будет произвести рефакторинг бизнес-логики в отдельный класс.
type
TPreferences = class
private
FFilename: String;
procedure SetFilename;
public
property Filename: String read FFilename write SetFilename;
procedure Load;
procedure Save;
end;
И воспользоваться методом этого класса «Сохранить» из обработчика нажатия кнопки: procedure TForm1.Button1Click; begin Preferences.Save; end; procedure TForm1.Edit1Change; begin Preferences.Filename := Edit1.Text; end; Сейчас эта проблема стала актуальной и в Visual C#. Просмотров: 1295
|