Les concepts essentiels véhiculés par le pattern COMPOSITE sont qu’un objet composite peut aussi contenir, outre des feuilles, d’autres objets composites, et que les nœuds composites et feuilles partagent une interface commune.Les Design patterns en Java: Les 23 modèles de conception fondamentaux
Component
est une interface commune à Leaf
et Composite
. Leaf
ne possède pas d'enfants contrairement à Composite
qui peut en posséder plusieurs si nécessaire.
Ce patron peut être utilisé pour stocker une arborescence de fichiers (Leaf
) et de dossiers (Composite
) ou encore représenter une interface graphique avec les composants de type conteneur (Composite
) et les composants visuels (Leaf
).
Ce patron utilise l'héritage, pas l'encapsulation.