Tipuri de modele:
- creativă
- structural
- comportamental
Creativ:
-
Singleton — restricționează crearea unei clase la o singură instanță și oferă acces la acea instanță unică.
-
Factory — folosit atunci când avem o superclasă cu mai multe subclase și trebuie să returnăm o subclasă pe baza intrării.
-
Fabrică abstractă — folosește o super fabrică pentru a crea fabrici, pe care apoi le folosim pentru a crea obiecte.
-
Builder — folosit pentru a crea obiecte complexe folosind obiecte simple. Se creează treptat un obiect mare dintr-un obiect mic, simplu.
-
Prototip — ajută la îmbunătățirea performanței la crearea de obiecte duplicate; în loc să creeze un obiect nou, acesta creează și returnează o clonă a unui obiect existent.
Structural:
-
Adaptor — un convertor între două obiecte incompatibile. Putem folosi modelul adaptorului pentru a combina două interfețe incompatibile.
-
Compozit — folosește o clasă pentru a reprezenta o structură arborescentă.
-
Proxy — oferă funcționalitatea unei alte clase.
-
Flyweight — refolosește obiecte în loc să creeze un număr mare de obiecte similare.
-
Fațadă — oferă o interfață simplă pentru un client, care utilizează interfața pentru a interacționa cu sistemul.
-
Bridge — face clase specifice independente de clasele care implementează o interfață.
-
Decorator - adaugă o nouă funcționalitate unui obiect existent fără a se lega de structura acestuia.
Comportamental:
-
Metoda șablonului - definește un algoritm de bază și permite descendenților să suprascrie unii pași ai algoritmului fără a-și schimba structura generală.
-
Mediator — oferă o clasă intermediară care se ocupă de toată comunicarea dintre diferite clase.
-
Lanț de responsabilitate — face posibilă evitarea dependenței stricte între expeditorul și destinatarul unei cereri; mai mult, cererea poate fi procesată de mai multe obiecte.
-
Observator — permite unui obiect să monitorizeze și să răspundă la evenimentele care au loc în alte obiecte.
-
Strategie — permite modificarea strategiilor (algoritmilor) în timpul rulării.
-
Comanda — o interfață care declară o metodă pentru efectuarea unei anumite acțiuni.
-
Stare — permite unui obiect să-și schimbe comportamentul în funcție de starea sa.
-
Vizitator — folosit pentru a simplifica operațiunile pe grupuri de obiecte înrudite.
-
Interpret — definește o gramatică pentru un limbaj simplu din domeniul problemei.
-
Iterator — accesează secvenţial elementele unei colecţii fără a-i cunoaşte forma subiacentă.
-
Memento — folosit pentru a stoca starea unui obiect; această stare poate fi restabilită ulterior.
Mai multe lecturi: |
---|