Zpo-7-wyk-Slajd2: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Bwalter (dyskusja | edycje)
Nie podano opisu zmian
 
Bwalter (dyskusja | edycje)
Nie podano opisu zmian
 
Linia 1: Linia 1:
==Agenda==
==Decorator: cel==


[[Image:zpo-7-wyk-Slajd2.PNG|Agenda]]
[[Image:zpo-7-wyk-Slajd2.PNG|Decorator: cel]]




Jest to drugi wykład poświęcony przeglądowi przekształceń refaktoryzacyjnych. W jego trakcie zostaną przedstawione trzy grupy przekształceń: zamiany obiektów-wartości w obiekty-referencje (oraz przekształceń odwrotnych), przekształcenia relacji dziedziczenia w relację delegacji oraz przekształcenia wyrażeń warunkowych.
Dekorator jest wzorcem zbliżonym pod względem struktury do wzorców Proxy i Adapter. Celem jego stosowania jest stworzenie możliwości dodawania funkcjonalności do klasy w czasie wykonywania programu. Alternatywnym sposobem realizacji podobnego celu (modyfikacji zachowania wewnątrz grupy klas) jest dziedziczenie, jednak ma ono poważne wady. Jeżeli klasa ma trzy różne właściwości, które mogą wpływać na jej zachowanie i mogą przyjmować wartości binarne (np. klasa Pracownik: wiek – pełnoletni/dziecko, zatrudnienie – pracujący/bezrobotny, stan cywilny – wolny/żonaty), wówczas do reprezentacji wszystkich możliwych przypadków należałoby utworzyć 2^3 = 8 podklas. Liczba ta rośnie wykładniczo wraz ze wzrostem liczby właściwości. Takie rozwiązanie na dłuższą metę jest nieakceptowalne, i dlatego konieczne jest wykorzystanie innego mechanizmu, np. wzorca Decoratora.




[[zpo-7-wyk-Slajd1 | << Poprzedni slajd]] | [[zpo-7-wyk-toc|Spis treści ]] | [[zpo-7-wyk-Slajd3 | Następny slajd >>]]
[[zpo-7-wyk-Slajd1 | << Poprzedni slajd]] | [[zpo-7-wyk-toc|Spis treści ]] | [[zpo-7-wyk-Slajd3 | Następny slajd >>]]

Aktualna wersja na dzień 19:16, 4 lis 2006

Decorator: cel

Decorator: cel


Dekorator jest wzorcem zbliżonym pod względem struktury do wzorców Proxy i Adapter. Celem jego stosowania jest stworzenie możliwości dodawania funkcjonalności do klasy w czasie wykonywania programu. Alternatywnym sposobem realizacji podobnego celu (modyfikacji zachowania wewnątrz grupy klas) jest dziedziczenie, jednak ma ono poważne wady. Jeżeli klasa ma trzy różne właściwości, które mogą wpływać na jej zachowanie i mogą przyjmować wartości binarne (np. klasa Pracownik: wiek – pełnoletni/dziecko, zatrudnienie – pracujący/bezrobotny, stan cywilny – wolny/żonaty), wówczas do reprezentacji wszystkich możliwych przypadków należałoby utworzyć 2^3 = 8 podklas. Liczba ta rośnie wykładniczo wraz ze wzrostem liczby właściwości. Takie rozwiązanie na dłuższą metę jest nieakceptowalne, i dlatego konieczne jest wykorzystanie innego mechanizmu, np. wzorca Decoratora.


<< Poprzedni slajd | Spis treści | Następny slajd >>