Top Qs
Línea de tiempo
Chat
Contexto
Magic pushbutton
De Wikipedia, la enciclopedia libre
Remove ads
En computación el antipatrón de diseño magic pushbutton ocurre en el desarrollo de interfaces gráficas, cuando el programador construye primero la interfaz gráfica y luego las llamadas a la lógica de negocio se realizan en los huecos, generalmente representados como métodos de acción de los elementos de la interfaz.
Los problemas con este antipatrón son:
- El código asociado a cada botón crece de manera inmanejable, parte de la lógica del negocio termina implantada dentro de la interfaz.
- Se dificultan los cambios en la interfaz usuario o el agregar una nueva interfaz a las ya existentes.
- Se dificulta la organización de las pruebas unitarias de la aplicación.
Remove ads
Ejemplo (en Borland Delphi)
procedure TForm1.Button1Click(Sender: TObject); var reg:TRegistry; begin reg:=TRegistry.Create; try reg.RootKey:=HKey_Current_User; if reg.OpenKey('\Mi\Empresa', true) then begin reg.WriteString('Filename',edit1.text); end; finally reg.Free; end; end;
Una mejor manera de trabajar es el colocar la lógica del negocio (en este ejemplo, el manejo del archivo) en una clase perteneciente a la lógica del negocio que será llamada desde la interfaz.
type TPreferences = class private FFilename: string; procedure SetFilename(const Value: string); public property Filename:string read FFilename write SetFilename; procedure Load; procedure Save; end;
procedure TForm1.Button1Click(Sender: TObject); begin Preferences.Save; end;
procedure TForm1.Edit1Change(Sender: TObject); begin Preferences.Filename:=edit1.text; end;
Remove ads
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads