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 |
dekorator (decorator) - wzorzec projektowy (design pattern) - java1. Cel:Wzorzec dekoratora to hierarchiczny wzorzec typu, który tworzy funkcjonalność na każdym poziomie, używając kompozycji z podobnych typów danych. Opakowujem obiekty aby dodać im nową funkcjonalność. Wzorzec projektowy dekoratora pozwala nam przypisać obowiązki do obiektu dynamicznie, bez wpływu na klasę Dekorator przestrzega również zasady pojedynczej odpowiedzialności, która stanowi, że każda klasa powinna odpowiadać za pojedynczą część funkcjonalności dostarczanej przez oprogramowanie, a odpowiedzialność ta powinna być całkowicie ujęta w klasie. 2. Problem: Chcemy opakować funkcjonalność klasy bez zmiany jej struktury. Chcemy mieć możliwość opakowania jej na wiele sposóbów, zmienić jej zachowanie. Oryginalny obiekt chcemy zostawić bez żadnych zmian. 3. Rozwiązanie: Kontrolujesz, które elementy uzupełniają twój obiekt, niekoniecznie próbując go zastąpić, tak jak w przypadku dziedziczenia. Aby to osiągnąć, wykorzystuje kompozycję i dziedziczenie Możesz komponować zachowanie dynamicznie, używając jednej z podklas, które zdobią twój obiekt. Każde nowe opakowanie/udekorowanie to nowa klasa. Powoduje to tworzenie dużo małych klas 4. Diagram klas wzorca dekorator (decorator): 5. Implementacja:
- wszystkie podklasy: java.io.InputStream, OutputStream, Reader and Writer, mają konstruktor który pozwala im akceptować ich własny typ. - java.util.Collections, methods checkedXXX(), synchronizedXXX() i unmodifiableXXX(). - javax.servlet.http.HttpServletRequestWrapper i HttpServletResponseWrapper |
---|