Kompozyt (wzorzec projektowy)

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji, wyszukiwania

Kompozytstrukturalny wzorzec projektowy, którego celem jest składanie obiektów w taki sposób, aby klient widział wiele z nich jako pojedynczy obiekt.

Przykładowe zastosowanie[edytuj | edytuj kod]

Wzorzec ten stosuje się, gdy wygodniej jest korzystać z pewnych operacji dla danego obiektu w ten sam sposób jak dla grupy obiektów, np. rysując na ekranie prymitywy lub obiekty złożone z prymitywów; zmieniając rozmiar zarówno pojedynczych prymitywów jak i obiektów złożonych z prymitywów (z zachowaniem proporcji).

Struktura wzorca[edytuj | edytuj kod]

Diagram klas wzorca Kompozyt

Wzorzec wyróżnia następujące elementy:

  • Component - klasa abstrakcyjna reprezentująca pojedyncze obiekty Leaf, jak i kontenery tych obiektów.
  • Leaf - typ prosty - nie posiada potomków.
  • Composite - przechowuje obiekty proste (Leaf), implementuje zachowanie elementów które zawiera.

Composite jak i Leaf dziedziczy po tym samym interfejsie co pozwala na dostęp do obiektów prostych w ten sam sposób jak do grupy tych obiektów. Użytkownik może przeprowadzać operacje na pojedynczym obiekcie, jak i na grupie obiektów reprezentowanych tym wzorcem.

Zobacz też[edytuj | edytuj kod]

Commons in image icon.svg

Bibliografia[edytuj | edytuj kod]

  1. Inżynieria oprogramowania: Wzorce projektowe - wydanie II, WNT 2008, ISBN 78-83-204-3472-9 (formalnie błędny numer ISBN), str. 195-207
  2. Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides: Wzorce projektowe. Elementy oprogramowania obiektowego wielokrotnego użytku. Helion, 2010, s. 170-180. ISBN 978-83-246-2662-5.