Le Composite est un patron de conception structurel qui permet d’agencer les objets dans une structure ressemblant à une arborescence, afin de pouvoir la traiter comme un objet individuel.
Le composite est devenu la solution la plus populaire pour régler les problèmes d’une structure arborescente. Il offre une fonctionnalité très pratique qui permet de parcourir récursivement toute l’arborescence et d’additionner les résultats.
Let’s try to understand the Composite pattern with an example of an operating system’s file system. In the file system, there are two types of objects: files and folders. There are cases when files and folders should be treated to be the same way. This is where the Composite pattern comes in handy.
File and Directory are both of the trait Component with a single search method. For a file, it will just look into the contents of the file; for a folder, it will go through all files of that folder to find that keyword.