Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Obiektowe metody projektowania systemów

Podobne prezentacje


Prezentacja na temat: "Obiektowe metody projektowania systemów"— Zapis prezentacji:

1 Obiektowe metody projektowania systemów
Builder design pattern

2 Wstęp: Builder – wzorzec kreacyjny pracujący w zakresie obiektowym
Intencja – Rozdzielić konstrukcję złożonego obiektu od jego reprezentacji, tak aby ten sam proces konstrukcji mógł tworzyć różne reprezentacje.

3 Plan: Powody utworzenia, motywacja Zastosowanie
Przykłady implementacji w C++ Struktura i elementy składowe Konsekwencje użycia Powiązania z innymi wzorcami Bibliografia

4 Powody utworzenia, motywacja
Tworzenie złożonego obiektu reprezentującego zbiór danych Potrzeba posiadania kilku możliwych reprezentacji danych Mimo mnogości reprezentacji, jedna metodyka tworzenia na podstawie danych Przykład: uniwersalne parsery

5 Zastosowanie Algorytm tworzenia złożonego obiektu powinien być niezależny od części współtworzących obiekt oraz tego w jaki sposób on jest złożony. Proces konstruowania musi zezwalać na różne reprezentacje obiektu konstruowanego

6 Przykłady implementacji w C++
class Builder { public: virtual void BuildComponent1() { } virtual void BuildComponent2(int param1) { } virtual void BuildComponent3(int paramA, int paramB) { } // to nie są abstrakcyjne metody, tylko puste, wirtualne - // dla możliwości nieimplementowania wybranych komponentów // virtual Product* GetCompleteProduct() { return 0; } // ^ dopiero dla konkretnego, wydziedziczonego Buildera !!! protected: Builder(); // nie chcemy instancjalizować naszej pseudoabstrackji };

7 Struktura i elementy składowe

8 Konsekwencje użycia Zalety. Pozwala stosować różną wewnętrzną reprezentację. Izoluje kod konstrukcji i reprezentacji. Daje kontrolę nad rozłożeniem tworzenia w czasie, w przeciwieństwie do innych konstrukcyjnych wzorców.

9 Powiązania z innymi wzorcami
Builder jest podobny do Abtract Factory w tym, że obydwa tworzą złożone twory. Builder jednak tworzy stopniowo. Abstract Factory z kolei kładzie nacisk na rodzinę drobnych produktów tworzonych jednostrzałowo. Często budowanym obiektem jest Composite

10 Podsumowanie: Builder daje jednolity interfejs do budowy złożonego obiektu klasie która wie kiedy budować i jakimi krokami, a niezbyt wie jak. Pozwala mieć kilka metod na stworzenie poszczególnych elementów złożonego obiektu.

11 Bibliografia: Gamma E.,Helm R.,Johnson R., Vlissides J.: Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley, 1995 Alexandrescu A.: Modern C++ Design, Addison-Wesley, 2001

12 ...i to by było tyle na dzisiaj!


Pobierz ppt "Obiektowe metody projektowania systemów"

Podobne prezentacje


Reklamy Google