1. Strategia:
definește o familie de algoritmi, încapsulează fiecare, și să le facă interschimbabile. Strategia permite algoritmului să varieze independent de clienții care îl folosesc.
2. Decorator:
atașați responsabilități suplimentare la un obiect dinamic. Decoratorii oferă o alternativă flexibilă la subclasare pentru extinderea funcționalității.
3. Metoda din fabrică
definiți o interfață pentru crearea unui obiect, dar lăsați subclasele să decidă ce clasă să instanțieze. Metoda din fabrică permite unei clase să amâne instanțierea la subclase.,
4. Observer
definiți o dependență unu-la-mulți între obiecte, astfel încât atunci când un obiect schimbă starea, toate dependenții săi sunt notificați și actualizați automat.
5. Lanț de responsabilitate
evitați cuplarea expeditorului unei cereri la receptorul său, oferind mai mult de un obiect o șansă de a gestiona cererea. Înlănțuiți obiectele receptoare și treceți cererea de-a lungul lanțului până când un obiect o gestionează.
6. Singleton
asigurați-vă că o clasă are doar o singură instanță și oferă un punct global de acces la ea.
7., Flyweight
utilizați partajarea pentru a sprijini un număr mare de obiecte cu granulație fină în mod eficient. Un flyweight este un obiect partajat care poate fi utilizat în mai multe contexte simultan. Flyweight acționează ca un obiect independent în fiecare context; este imposibil de distins de o instanță a obiectului care nu este partajat.
8. Adaptor
conversia interfața unei clase într-o altă interfață clienții așteaptă. Adaptor permite clase de lucru împreună, care nu ar putea altfel din cauza interfețelor de incompatibilitate.
9. Fațadă
oferă o interfață unificată la un set de interfețe într-un sistem., Fațadă definește o interfață de nivel superior, care face subsistemul mai ușor de utilizat.
10. Template
definiți un schelet al unui algoritm într-o operație, amânând câțiva pași către subclase. Metoda șablonului permite subclaselor să redefinească anumiți pași ai unui algoritm fără a schimba structura algoritmilor.
11. Builder
separați construcția unui obiect complex de reprezentarea sa, astfel încât aceleași procese de construcție să poată crea reprezentări diferite.
12., Iterator
oferă o modalitate de a accesa elementele unui obiect agregat secvențial fără a expune reprezentarea sa de bază.
13. Composite
compune obiecte în structuri arborescente pentru a reprezenta ierarhii parțial-întregi. Compozit permite clienților să trateze obiecte individuale și compoziții de obiecte uniform.
14. Comanda
încapsulează o solicitare ca obiect, permițându-vă astfel să parametrizați clienții cu diferite solicitări, cereri de coadă sau jurnal și să susțineți operațiuni nedezvăluite.
15., Mediator
definiți un obiect care încapsulează modul în care interacționează un set de obiecte. Mediator promovează cuplare în vrac prin păstrarea obiecte de la referindu-se la fiecare alte în mod explicit, și vă permite să varieze interacțiunea lor în mod independent.
16. Stare
permite unui obiect să-și modifice comportamentul atunci când starea sa internă se schimbă. Obiectul va apărea pentru a schimba clasa sa.
17. Proxy
furnizați un surogat sau un substituent pentru un alt obiect pentru a controla accesul la acesta.
18., Abstract Factory
oferă o interfață pentru crearea de familii de obiecte conexe sau dependente, fără a specifica clasele lor concrete.
19. Decuplați o abstracție de la punerea sa în aplicare, astfel încât cele două să poată varia independent.
20. Având în vedere o limbă, definiți o reprezentare pentru gramatica acesteia împreună cu un interpret care utilizează reprezentarea pentru a interpreta propozițiile în limbă.
21., Memento
fără a încălca încapsularea, captarea și externalizarea stării interne a unui obiect, astfel încât obiectul să poată fi readus la această stare mai târziu.
22. Prototip
specificați tipurile de obiecte de creat folosind o instanță prototipică și creați obiecte noi copiind acest prototip.
23. Vizitator
reprezintă o operație care trebuie efectuată asupra elementelor unei structuri obiect. Vizitatorul vă permite să definiți o nouă operație fără a schimba clasele elementelor pe care operează.
Leave a Reply