Composite
Architecture 🟡 MidDéfinition
Compose des objets en structures arborescentes pour représenter des hiérarchies partie-tout. Les clients traitent uniformément objets simples et composes.
Analogie
Un dossier de fichiers : un dossier peut contenir des fichiers ou d'autres dossiers, et on peut tous les supprimer de la même façon.
Exemple de code
class Folder {
children = [];
add(child) { this.children.push(child); }
getSize() {
return this.children.reduce((s, c) => s + c.getSize(), 0);
}
}
Cas d'usage
Menus imbriques, arbres DOM, systèmes de fichiers, organigrammes.
Anti-pattern
Termes liés
En entretien
A quoi sert le pattern Composite ?
Il compose des objets en structures arborescentes pour représenter des hiérarchies partie-tout, en permettant aux clients de traiter uniformément objets simples et composés. L'exemple typique est un système de fichiers, où un dossier peut contenir des fichiers ou d'autres dossiers.
Quel est l'anti-pattern à éviter avec Composite ?
Traiter différemment les feuilles et les nœuds partout dans le code client, ce qui va à l'encontre de l'intérêt du pattern.
Fiche mise à jour le 2026-09-27