System Overview - Composite pattern
The Composite pattern helps organize objects into tree structures to represent part-whole hierarchies. It lets clients treat individual objects and compositions of objects uniformly, simplifying code that works with complex nested structures.
Key requirements include supporting recursive composition, uniform access to leaf and composite objects, and easy addition/removal of components.