Wzorzec projektowy stan - state
Stronę tą wyświetlono już: 4112 razy
Opis wzorca projektowego stan
Wzorzec projektowy stan należy do wzorców czynnościowych. Celem tego wzorca jest zaimplementowanie w głównej klasie możliwości wyboru interfejsu, z którego klasa ta będzie korzystała. Taka implementacja może mieć miejsce np. przy wyborze trybu rysowania obiektów w programie graficznym.
Przykładowy diagram UML wzorca projektowego stan
Na poniższym diagramie UML klasa Drawing agreguje interfejs iDraw, za którym stoi jedna z dwóch klas:
- DrawSquare - rysująvej prostokąt;
- DrawCircle - rysującej okrąg (a przynajmniej coś co jako tako przypomina okrąg)
Klasa główna Drawing ma pole state, które można ustawić za pomocą metody setState decydując tym samym o wyborze obiektu stojącego za interfejsem iDraw oraz trybem rysowania.
Przykład implementacji wzorca projektowego stan w C++
Przykładowy wynik działania powyższego kodu:
Choose option: Exit [0] Square [1] Circle [2] 1 ### # # ### Choose option: Exit [0] Square [1] Circle [2] 2 # # # # Choose option: Exit [0] Square [1] Circle [2]
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