Varázsgomb

A  mágikus nyomógomb egy anti - minta , amely akkor jelenik meg, ha hiányzik az absztrakció, amikor sok különböző műveletet rossz helyen, például egy gombkattintáskezelőben egybegyűjtenek, ahelyett, hogy a megfelelő osztályok és függvények között osztanák el. A probléma jellemzően vizuális fejlesztői környezetekben [1] [2] jelentkezik, amikor a programozó először megrajzolja a felhasználói felületet , majd automatikusan generált metódusokban írja meg az üzleti logikát , általában egy gombkattintásos kezelési módszert, például "OK" [3] .

Problémák ezzel az antimintával:

Néha hasonló anti-minták a szerveroldali kódokban is előfordulnak, például az ASP.NET Web Forms-ben [5] .

Rossz példa (Borland Delphi)

eljárás TForm1 . Button1Click ( Feladó : TObject ) ; varreg : TRegistry ; _ begin reg := TRegistry . létrehozni ; próbáld meg reg . RootKey := HKey_Current_User ; ha reg . OpenKey ( 'SoftwareMyCompany' , igaz ) , majd kezdje el a reg . WriteString ( 'Fájlnév' , Szerk.1 . Szöveg ) ; vége ; végre reg . Ingyenes ; vége ; vége ;

Jó példa (Borland Delphi)

Ebben az esetben jobb, ha az üzleti logikát (ebben a példában a fájlnév tárolása a rendszerleíró adatbázisban) egy külön osztályba alakítja át.

type TPreferences = class private FFilename : String ; eljárás SetFilename ( const érték : String ) ; public property Fájlnév : String read FFilename írás SetFilename ; eljárás Load ; eljárás Mentés ; vége ;

És használja ennek az osztálynak a "Mentés" metódusát a gombkattintáskezelőből:

eljárás TForm1 . Button1Click ( Feladó : TObject ) ; Kezdje Beállítások . mentés ; vége ; eljárás TForm1 . Edit1Change ( Feladó : TObject ) ; Kezdje Beállítások . Fájlnév := Szerkesztés1 . szöveg ; vége ;

Most ez a probléma aktuálissá vált a Visual C# -ban ( Microsoft Visual Studio ) [4] .

Jegyzetek

  1. AntiPattern (Indranil Nandy, IIT Kharagpur  ) . Letöltve: 2017. október 2. Az eredetiből archiválva : 2016. március 5..
  2. Anders Toxboe. Felhasználói felület anti  -minták . UI-minták (2009. február 5.). Letöltve: 2013. szeptember 11. Az eredetiből archiválva : 2013. augusztus 18..
  3. 1 2 Stepanek György. Szoftverprogramozási titkok: Miért buknak meg a projektek  14. Az eredetiből archiválva : 2016. március 12.
  4. 1 2 Mit ne tegyen: Anti-Patterns and the Solutions  ( 2011. április 26.). Az eredetiből archiválva: 2013. szeptember 6.
  5. Enterprise Integration Anti-Patterns #2 – Megosztott összeállítások  (elérhetetlen hivatkozás)

Irodalom

  • Bruce A. Tate, Keserű Java. ISBN 193011043X , 2002. "Egy korai antiminta: A varázslatos nyomógomb" 54. oldal