Cuprins
- 1. Aspecte teoretice 3
- 2. Creational Patterns 4
- 2.1. Factory pattern 4
- 2.2. Builder pattern 7
- 2.3. Abstract factory pattern 9
- 2.4. Prototype pattern 12
- 2.5. Singleton pattern 14
Extras din referat
Scopul referatului
Acest referat are drept scop realizarea unei imagini de ansamblu asupra asa numitelor “Design Patterns – Creational Patterns”. Pe parcursul sau se va urmari prezentarea aspectelor teoretice precum si argumentarea sau exemplificarea acestora cu exemple practice.
1. Aspecte teoretice
Pentru inceput este necesara o explicare a termenului de ”Design Paterns”. Pe scurt ”Design Patterns” poate fi tradus ca ”Modele de Proiectare” (ale unor situatii des intalnite in programare).
Un „Design pattern” reprezinta o solutie generala repetitiva pentru o problema comuna ce poate aparea in dezvoltarea unui software. Acesta nu este altceva decat un template care descrie modul in care poate fi rezolvata o anumita problema.
Clasificarea acestora se poate face dupa tipul de problema pentru care ofera o solutie:
- Architectural patterns;
- Fundamental patterns;
- Creational patterns
- Structural Patterns;
- Behavioral Patterns;
- Concurrency patterns;
2. Creational Patterns
In ceea ce priveste „Creational patterns”, acestea descriu cea mai potrivita modalitatea de a crea obiecte in functie de situatia data. Acestea controleaza crearea obiectelor.
Aceasta clasa de pattern-uri contine::
- Factory Method;
- Builder;
- Abstract factory;
- Prototype;
- Singleton;
2.1. Factory pattern
Uneori o aplicatie aflata in executie nu poate anticipa clasa din care face parte un obiect ce trebuie instantiat. Aplicatia „stie” ca trebuie sa instantieze clase, dar nu este constienta decat de clase abstracte sau interfete, care nu pot fi instantiate. Asadar se cunoaste momentul la care trebuie creata o instanta, dar nu se stie si tipul obiectului de instantiat. Solutia pentru aceasta problema este data de catre „Factory Pattern”.
Pe scurt, prin aceasta metoda se centralizeaza modul in care poate fi creat un obiect de un anumit tip, fiind permisa alegerea tipului obiectului ce va fi instantiat dintr-o multime de tipuri date.
Aceasta metoda furnizeaza o modalitate simpla de creare a unui obiect fara a se specifica exact tipul (clasa) din care va fi instantiat obiectul, insa specificand o data (entitate) pe baza careia sa se ia decizia.
“Define an interface for creating an object, but let subclasses decide which class to instantiate. Factory Method lets a class defer instantiation to subclasses.” -- "Design Patterns” Gamma et al., Addison-Wesley, ISBN:0-201-63361-2”
Acest pattern presupune crearea unei instante(pentru o clasa) pe baza deciziei luate tinand cont de datele furnizate.
Diagrama UML:
Preview document
Conținut arhivă zip
- Design Paterns - Creational Paterns.doc