Butonul Magic

Din Wikipedia, enciclopedia gratuită

Buton Magic (buton magic englez) - antipattern. apare la lipsa de abstractizare, atunci când o multitudine de acțiuni diferite fac obiectul unui dumping într-o grămadă în locul greșit, de exemplu, faceți clic pe butonul de tratare, în loc să fie distribuite de către un clase și funcții adecvate. De obicei, problema apare în mediile de dezvoltare vizuală # 91; 1 # 93; # 91; 2 # 93; Atunci când un programator trage mai întâi o interfață de utilizator. și apoi scrie logica de afaceri în metodele create automat. de obicei, în metoda de prelucrare a unui buton, de exemplu "OK" # 91; 3 # 93;

Problemele acestui antipattern:

  • Codul pentru manipulatorii elementelor de interfață crește necontrolat # 91; 3 # 93;
  • Schimbarea interfeței cu utilizatorul (sau adăugarea unei noi interfețe) devine dificilă, de exemplu, ștergerea unui buton poate duce la eliminarea metodelor aferente # 91; 4 # 93;
  • Testarea codului devine mai complicată
  • Resetarea codului nu este posibilă

Uneori, antipatterns similare apar în codul serverului, de exemplu, în Formulare Web ASP.NET # 91; 5 # 93;

Exemplul rău (Borland Delphi)

Un bun exemplu (Borland Delphi)

În acest caz, va fi mai bine să refaceți logica de afaceri (în acest exemplu - stocarea numelui de fișier în registru) într-o clasă separată.

Și utilizați metoda din această clasă "Salvare" de la butonul de manipulare a clicurilor pe buton:

Scrie o recenzie pentru "Magic Button"

notițe

literatură

Un fragment care caracterizează butonul Magic

- Uvarku trimis să audă zori, - a spus bas său, după un moment de tăcere - de a vorbi, pentru Otradnensky transferat acolo urlând. (Tradus a însemnat că lupul, despre care amândoi știau, sa mutat cu copiii din pădurea Otradnensky, care a fost de peste două mile de casă și că a fost un scaun mic detașabil.)
- Dar trebuie să pleci? A spus Nikolay. "Vino la mine cu Uvarka."
"După cum doriți!"
Așteaptă, deci, să hrănești.
- Mă ascult.
Cinci minute mai târziu, Danilo și Uvarka stăteau în biroul lui Nicolae. În ciuda faptului că Danilo nu era mare, văzându-l în cameră, a făcut o impresie similară atunci când vedeți un cal sau un urs pe podeaua dintre mobilier și condițiile vieții umane. Danilo însuși simțea, și, ca de obicei, a fost în picioare la ușă, încercând să vorbească încet, nu se misca, astfel încât să nu rupă nimic ca camerele de master, și încercând să facă totul cât mai repede posibil și ieși în aer liber din tavan sub cerul.
După ce și-a încheiat ancheta și a determinat conștiința lui Danila că câinii nu voiau nimic (Danila dorea să se ducă), Nicolae a ordonat să-și facă șaua. Dar tocmai acum Danil dorea să iasă, Natasha, care nu fusese încă pieptănată sau îmbrăcată, intră în cameră cu pași scurți, într-o batistă de dimensiuni mari. Petya a intrat cu ea.
"Te duci?" - a spus Natasha, - știam asta! Sonya a spus că nu vei merge. Știam că astăzi este o zi pe care nu poți să o duci.
"Mergem", a răspuns Nikolay cu reținere, căruia, pe măsură ce intenționa să facă vânătoare serioasă, nu voia să-l ia pe Natasha și pe Petya. "Să mergem, dar numai pentru lupi: veți fi plictisiți".
"Știți că este cea mai mare plăcere a mea", a spus Natasha.
- E rău, - se duce, mi-a spus să mă înșel, dar nu ne-a spus nimic.
- În zadar la Ross toate obstacolele, să mergem! Strigă Petya.
- De ce, nu poți să o faci: Mama a spus că nu poți, spuse Nikolay, întorcându-se spre Natasha.
- Nu, o să plec, o să mă duc cu siguranță, spuse Natasha hotărât. "Danila, ne-au spus să ședem, iar Mikhail să vină cu pachetul meu", a spus ea căpitanului.
Și așa a fost indecentă și dificilă să fie în camera lui Danile, dar părea imposibil să aibă de-a face cu tânăra doamnă. Își coborî ochii și se grăbi să iasă, ca și când nu-l privea, încercând să nu-i dăuneze în mod accidental pe tânăra doamnă.

Articole similare