Lorsqu’un programme veut qu’on objet soit composé de plusieurs objets, on crée un patron dit Composite, qui fait les opérations sur un ensemble d’objets.
On peut bien sûr avoir des compositions récursives (compositions d’autres compositions).
Les InputStream ont comme composite les FileInputStream et SequenceInputStream