Composite
Applicability
Use the Composite pattern when
-
you want to represent part-whole hierarchies of objects.
-
you want clients to be able to ignore the difference between
compositions of objects and individual objects. Clients will treat all
objects in the composite structure uniformly.