I. Wzorce kreacyjne 1. Singleton 2. Budowniczy 3. Prototyp 4. Fabryka 5. Fabryka abstrakcyjna II. Wzorce strukturalne 1. Adapter 2. Most 3. Kompozyt 4. Dekorator 5. Fasada 6. Pyłek 7. Pełnomocnik III. Wzorce czynnościowe 1. Łańcuch zobowiązań 2. Polecenie 3. Interpreter 4. Iterator 5. Mediator 6. Pamiątka 7. Obserwator 8. Stan 9. Strategia 10. Metoda szablonowa 11. Odwiedzający |
Stan (state) - wzorzec projektowy (design pattern) - java1. Cel:Wzorzec Stan (state) jak sama nazwa wskazuje, jest używany gdy musimy reprezentować stan w aplikacji. Wzorzec stanu oznacza, że chcesz zlokalizować zachowanie specyficzne dla stanu. Mówiąc dokładniej, wzorzec State sprawia, że bieżący stan aplikacji jest przechowywany w obiekcie, a nie w mieszance zmiennych w całej aplikacji. Wzorzec stanu pomaga nam również oddzielić stan, w którym się znajdujemy, od tego, w jakim jesteśmy w naszej aplikacji. 2. Problem: Chcemy mieć różne stany aplikacji, chcemy wyeliminować if else do uzyskiwania stanu aplikacji. Block if else wraz z rozrastaniem aplikacji jest trudny w utrzymaniu, chcemy uprościć złożoność klasy. 3. Rozwiązanie: Wzorzec stan jest implementowany jako interface lub klasa abstrakcyjna. Reprezentowana jest przez klasę per każdy stan. Zamiast przechodzić przez różne przypadki emiminujemy if else block, raz zaimplementując wzorzec który jest uzewnętrzniony do każdego warunku będący klasą Stanu. Klasa reprezentująca stan ma informację tylko o następnym stanie. Upraszcza cykliczną złożoność, usuwając w ten sposób bloki kodu spaghetti, które mamy wewnątrz naszej aplikacji. To sprawia, że dodawanie kolejnych stanów jest znacznie łatwiejsze, zamiast przechodzenia przez każdy blok if else w naszej aplikacji, możemy po prostu dodać klasę i zmienić stan przed nią, aby wskazywał na tę. 4. Diagram klas wzorca Stan (state): 5. Implementacja: Klasa testowa: Klasa Context, obsługująca wzorzec stan: interface stanu i jego implementacja: 6. Zastosowanie w kodzie java: - javax.faces.lifecycle.LifeCycle#execute() |
---|