Wzorzec projektowy prototyp - prototype
Stronę tą wyświetlono już: 4163 razy
Opis wzorca projektowego prototyp
Prototyp jest wzorcem projektowym kreacyjnym, w którym tworzy się grupę prototypowych obiektów, na podstawie których klasa fabryka tworzy kopie prototypów i zwraca ich interfejs.
Diagram UML wzorca projektowego prototyp
Przykładowy diagram UML wzorca projektowego prototyp można zobaczyć na poniższej ilustracji. Jak widać interfejs iTankPrototype jest dziedziczony przez dwie klasy:
- A1M1_Abrams;
- T34
Prototypy tych klas przechowywane są w statycznej zmiennej tablicowej tankPrototype[2], które pod indeksem:
- iTankPrototype::TankType::A1M1_Abrams = 0 przechowuje wskaźnik na interfejs obiektu klasy A1M1_Abrams;
- iTankPrototype::TankType::T34 = 1 przechowuje wskaźnik na interfejs obiektu klasy T34
W tej samej klasie znajduje się statyczna metoda makeTank, która jako parametr przyjmuje iTankPrototype::TankType. Na podstawie tego parametru tworzona jest kopia prototypowego obiektu i zwracany jego interfejs.
Przykładowa implementacja wzorca projektowego prototyp
Oto przykład implementacji tego wzorca w języku C++:
Wynik działania powyższego kodu:
A1M1 Abrams T34 Tworze czolg A1M1 Abrams Tworze czolg T34
Tytuł:
C++. Projektowanie oprogramowania. Zasady i wzorce projektowe
Autor:
Klaus Iglberger
Tytuł:
Wzorce projektowe. Rusz głową! Tworzenie rozszerzalnego i łatwego w utrzymaniu oprogramowania obiektowego. Wydanie II
Autor:
Eric Freeman, Elisabeth Robson
Tytuł:
React 17. Wzorce projektowe i najlepsze praktyki. Projektowanie i rozwijanie nowoczesnych aplikacji internetowych. Wydanie III
Autor:
Carlos Santana Roldán
Tytuł:
Wzorce projektowe. Rusz głową! Tworzenie rozszerzalnego i łatwego w utrzymaniu oprogramowania obiektowego. Wydanie II
Autor:
Eric Freeman, Elisabeth Robson
Tytuł:
Wzorce projektowe w .NET Core 3. Projektowanie zorientowane obiektowo z wykorzystaniem C# i F#
Autor:
Dmitri Nesteruk
Tytuł:
Wzorce projektowe. Elementy oprogramowania obiektowego wielokrotnego użytku
Autor:
Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides
Tytuł:
Projektowanie interfejsów., Sprawdzone wzorce projektowe. Wydanie III
Autor:
Jenifer Tidwell, Charles Brewer, Aynne Valencia-Brooks
Tytuł:
Kubernetes. Wzorce projektowe. Komponenty wielokrotnego użycia do projektowania natywnych aplikacji chmurowych
Autor:
Bilgin Ibryam, Roland Huß
Tytuł:
Wzorce projektowe w .NET. Projektowanie zorientowane obiektowo z wykorzystaniem C# i F#
Autor:
Dmitri Nesteruk
Tytuł:
Programowanie zorientowane obiektowo. Wzorce projektowe. Wydanie II
Autor:
Alan Shalloway, James R. Trott