Enimkasutatavad disainimustrid

Milleks vaja?

Disainimustrid on mõeldud korduvate probleemide efektiivseks lahendamiseks. Tõenäoliselt on keegi varem lahendanud sama probleemi mida soovid lahendada.

Disainimustrite kasutamise eelised:

  • Kulub vähem aega probleemi lahendamiseks, sest keegi on disaininud selleks lahenduse, pole vaja hakata ise täiesti algusest probleemi lahendama.

  • Disainimustrid on üldtuntud - rääkides inimestega, kes on disainimustritega kursis, on lihtsam seletada mida või kuidas teha, kuna ei pea seletama lahti oma eksootilist lahendust.

  • Tõenäoliselt on disainimustri põhine lahendus elegantsem ja arusaadavam kui ise leiutatud lahendus.

Samas pole disainimustreid võimalik või mõistlik alati kasutada. Teatud olukordades võib see muuta koodi loetavust halvemaks, näiteks kui üritatakse kasutada mustrit vales olukorras, kus see pole kasutamiseks ette nähtud.

Disainimustrite liigid

Objektorienteeritud disainimustreid liigitatakse sageli kolme kategooriasse:

  • Loovmustrid (ingl. k. creational) - mustrid, mis võimaldavad paindlikumalt objekte luua

  • Struktuurmustrid (ingl. k. structural) - mustrid, mis võimaldavad klasse paindlikumalt komponeerida, et uut funktsionaalsust luua

  • Käitumismustrid (ingl. k. behavioral) - mustrid, mis võimaldavad objektidel omavahel paindlikumalt suhelda

Esmalt kirjeldati neid kategooriaid, ning ka paljusid alljärgnevaid disainimustreid raamatus Design Patterns: Elements of Reusable Object-Oriented Software (1994), mis on tõenäoliselt aegade mõjuvõimsaim objektorienteeritud disaini käsitlev teos.

Raamatu autoreid kutsutakse sageli Gang of Four'iks, ning seega nimetatakse ka kõiki nendesse kategooriatesse kuuluvaid mustreid Gang of Four mustriteks.

Järgnevalt mõned näited enimkasutatavatest disainimustritest:

Struktuurmustrid

Loovmustrid

Käitumismustrid

Sõltuvuste süstimine (dependency injection)

Rohkem disainimustreid

http://www.blackwasp.co.uk/gofpatterns.aspx