Wzorce projektowe – Stan

Posted on Posted in Java SE

Opis

Czynnościowy wzorzec stanu to lekarstwo na popularnie stosowany „wzorzec” zwany „The tower of IFs” . Zamiast produkować w metodzie jakiejś klasy kolejną instrukcję warunkową warto zastanowić się nad tym czy nie jest to dobry moment na drobną refactoryzacją kodu do wzorca Stanu.

Przepis na implementacje wzorca stan zgodny GOF

1)      Zaimplementuj swoją klasę

 

2)      Stwórz interfejs „Stan” , deklarujący metodę przyjmującą jako argument obiekt klasy z pkt 1

 

3)      Dodaj do klasy z punktu 1 właściwość zgodną z interfejsem z punktu 2

Po drobnych modyfikacjach będzie ona wyglądała tak:

4)      Przygotuj konkretne stany czyli klasy implementujące interfejs z pkt 2

 

 

5)      W klasie z punktu 1 zaimplementuj metodę której wykonanie będzie uzależnione od stanu czyli od tego jakim obiektem będzie zainicjalizowane pole o którym mowa w pkt 3.

6)      Ciesz się elastycznym kodem pozbawionym ciągu zbędnych if-ów i łatwym w utrzymaniu ,

Każdy kolejny warunek wymaga po prostu dopisania nowej klasy implementującej interfejs stan.

 

One thought on “Wzorce projektowe – Stan

  1. Zazwyczaj klasy konkretnych stanów zmieniają stan w kontekście który przechowuje aktualny stan inaczej mamy raczej strategie. Oba wzorce świetnie redukują towers of ifs

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *