Zpo-9-wyk-Slajd30: 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:
==Composite: struktura==
==Agenda==


[[Image:zpo-9-wyk-Slajd30.PNG|Composite: struktura]]
[[Image:zpo-9-wyk-Slajd30.PNG|Agenda]]




Centralnym elementem wzorca jest interfejs Component, który reprezentuje dowolny obiekt w strukturze drzewiastej. Posiada on możliwości dodawania i usuwania swojego obiektu potomnego (oczywiście, także typu Component) oraz odwołania się do wybranego potomka. Zawiera on także metodę ''operation'' ''(),'' którą należy wykonać na każdym węźle struktury.
Ostatnia, najobszerniejsza grupa przekształceń obejmuje refaktoryzacje wykonywane na poziomie pól i metod wewnątrz klasy.
 
Interfejs Component posiada dwie implementacje: Leaf oraz Composite. Klasa Leaf reprezentuje obiekty, które nie posiadają potomków (czyli liście w strukturze), natomiast Composite jest dowolnym węzłem pośrednim. Ponieważ każdy węzeł pośredni zarządza także poddrzewem, którego jest korzeniem, dlatego metoda ''operation'' ''(),'' poza wykonaniem operacji specyficznych dla każdego węzła, wywołuje swoje odpowiedniki w obiektach potomnych, w ten sposób propagując wywołanie.
 
Z punktu widzenia klienta taka struktura umożliwia zarządzanie całością za pomocą jednego obiektu – korzenia drzewa. Niepotrzebna jest także wiedza o rozmiarze drzewa, ponieważ wywołanie zostanie przekazane automatycznie do wszystkich jego elementów.




[[zpo-9-wyk-Slajd29 | << Poprzedni slajd]] | [[zpo-9-wyk-toc|Spis treści ]] | [[zpo-9-wyk-Slajd31 | Następny slajd >>]]
[[zpo-9-wyk-Slajd29 | << Poprzedni slajd]] | [[zpo-9-wyk-toc|Spis treści ]] | [[zpo-9-wyk-Slajd31 | Następny slajd >>]]

Aktualna wersja na dzień 18:05, 4 lis 2006

Agenda

Agenda


Ostatnia, najobszerniejsza grupa przekształceń obejmuje refaktoryzacje wykonywane na poziomie pól i metod wewnątrz klasy.


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