Sunteți pe pagina 1din 5

Abstract Factory este utilizat atunci când se dorește crearea familiilor de obiecte

Clasa client are nevoie de un produs A si un produs B, aceasta nu creaza direct o instanta a acestor
obiecte. In schimb Clientul utilizează interfata Abstract factory pentru a crea obiecte, ceea ce face
clientul independent de modul in care obiectele sunt create (Care clasa concreta este instantiata). Clasa
Concrete Factory implementeaza interfata abstract factory, creînd instante ale claselor Product AX si
ProductBX.

Clientul utilizand obiectul FactoryX creat, apeleazămetoda createProductA() care va returna ProductAX,
iar apelând metoda createProductB() va crea un obiect de tip ProductBX.

Builder

Este un șablon de proiectare creațional care separă constructia unui obiect complex de reprezentarea
sa, astfel incat acelasi proces de constructie poate crea reprezentari diferite.

Are menirea de a simplifica constructia unui produs complex prin impartirea constructiei aestuia in
mai multe etape. Are menirea de a crea diferite reprezentari ale unuia si aceluiasi obiect
In diagrama de mai sus clasa Director nu creaza si asambleaza obiectul Product direct, in schimb
Directorul apeleaza la interfata Builder pentru a construi partile obiectului complex, ceea ce face
directorul independent de clasele care urmeaza sa fie instantiate. Clasa ConcreteBuilder
implementeaza interfata Builder, creand si asambland obiectul Product. Xclasa director apeleaza

Bridge are menirea de a decupla abstractia de ceva concret


Composite descrie un grup de obiecte sub forma de ierarhie arborescente. Modelul compus descrie un
grup de obiecte care sunt tratate în același mod ca o singură instanță a aceluiași tip de obiect. Intenția
unui compozit este de a „compune” obiecte în structuri arborescente pentru a reprezenta ierarhii
parțial-întreg. Implementarea modelului compozit permite clienților să trateze obiectele și compozițiile
individuale în mod uniform

Clasa Client nu se referă la Leaf și Composite direct, separat. In schimb Clientul se refera la Interfata
comuna Component și poate trata Leaf si Component uniform.

Clasa Leaf nu are copii și implementeaza interfata Component direct. Clasa Composite
Adapter

Command este un sablon comportamental care transforma o cerere intr-un obiect ce contine toate
informatiile despre cerere.

Mediator

Este un sablon care are menirea de a decupla toti comunicatorii intre ei, astfel incat acestia sa nu poata
comunica direct, in schimb se introduce un mediator, un obiect care are menirea de a dirija comunicarea
intre ei.

S-ar putea să vă placă și