Kouzelné tlačítko

Magické tlačítko je anti - vzor  , ​​který se objeví, když chybí abstrakce, když je mnoho různých akcí soustředěno na nesprávném místě, například v ovladači kliknutí na tlačítko, místo toho, aby byly rozděleny mezi příslušné třídy a funkce. Problém se obvykle vyskytuje ve vizuálních vývojových prostředích [1] [2] , když programátor nejprve nakreslí uživatelské rozhraní a poté zapíše obchodní logiku v automaticky generovaných metodách , obvykle metodou manipulace s kliknutím na tlačítko, jako je "OK" [3] .

Problémy s tímto antivzorem:

Někdy se podobné anti-vzory vyskytují také v kódu na straně serveru, například ve webových formulářích ASP.NET [5] .

Špatný příklad (Borland Delphi)

postup TForm1 . Button1Click ( Sender : TObject ) ; varreg : TRegistry ; _ begin reg := TRregistry . vytvořit ; zkuste reg . RootKey := HKey_Current_User ; pokud reg . OpenKey ( 'SoftwareMyCompany' , true ) a poté začít reg . WriteString ( 'Název souboru' , Upravit1 . Text ) ; konec ; konečně reg . zdarma ; konec ; konec ;

Dobrý příklad (Borland Delphi)

V tomto případě by bylo lepší refaktorovat obchodní logiku (v tomto příkladu uložení názvu souboru do registru) do samostatné třídy.

type TPreferences = class private FFilename : String ; procedura SetFilename ( const Value : String ) ; public property Filename : String read FFilename write SetFilename ; postup Načíst ; postup Uložit ; konec ;

A použijte metodu "Uložit" této třídy z obslužného programu kliknutí na tlačítko:

postup TForm1 . Button1Click ( Sender : TObject ) ; začít Předvolby . uložit ; konec ; postup TForm1 . Edit1Change ( Sender : TObject ) ; začít Předvolby . Název souboru := Edit1 . text ; konec ;

Nyní se tento problém stal aktuálním ve Visual C# ( Microsoft Visual Studio ) [4] .

Poznámky

  1. AntiPattern (od Indranil Nandy, IIT Kharagpur  ) . Získáno 2. října 2017. Archivováno z originálu 5. března 2016.
  2. Anders Toxboe. Anti-  vzory uživatelského rozhraní . Vzory uživatelského rozhraní (5. února 2009). Získáno 11. září 2013. Archivováno z originálu 18. srpna 2013.
  3. 1 2 Jiří Štěpánek. Tajemství softwarového programování: Proč projekty selhávají  14. Archivováno z originálu 12. března 2016.
  4. 1 2 Co nedělat: Anti-Patterns and the Solutions  ( 26. dubna 2011). Archivováno z originálu 6. září 2013.
  5. Anti-Patterns Enterprise Integration #2 – Sdílená sestavení  (nepřístupný odkaz)

Literatura

  • Bruce A. Tate, Hořká Jáva. ISBN 193011043X , 2002. „Starý antipattern: The Magic Pushbutton“ strana 54