|
|
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
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 >>