Wzorzec projektowy metoda wytwórcza - factory method
Stronę tą wyświetlono już: 3768 razy
Opis wzorca projektowego metoda wytwórcza
Metoda wytwórcza należy do kreacyjnych wzorców projektowych. Jest ona w gruncie rzeczy uproszczeniem wzorca projektowego budownczy. Istnieje tutaj jeden wspólny interfejs przypisany dla danej grupy klas opisujących konkretne obiekty. Istotną rolę odgrywa klasa fabryki obiektów, która zawiera statyczną metodę, wewnątrz której względem podanego parametru tworzony jest nowy obiekt i zwracany jego interfejs.
Przykładowy diagram UML wzorca metoda wytwórcza
Jak widać na poniższym diagramie UML klasa TankFactory zawiera metodę statyczną buildTank, która jako jedyny argument pobiera wartość typu Tank::TankType wbudowanego w interfejs iTank. W zależności od ustawienia tegoż parametru tworzony jest obiekt klasy: A1M1_Abrams_tank lub T34_tank a następnie zwracany interfejs iTank*.
Przykładowa implementacja wzorca metoda wytwórcza
Przykład implementacji z powyższego diagramu UML napisanej w języki C++:
Wynik działania powyższego kodu:
Buduje czolg T34! Wybudowano czolg: T34 Buduje czolg A1M1 Abrams! Wybudowano czolg: A1M1 Abrams
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