 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
| • |
Applicability
|
|
|
|
– |
Want to
represent part-whole hierarchies of objects
|
|
|
|
– |
Want clients to
be able to ignore the difference between
|
|
|
compositions of
objects and individual objects.
|
|
|
| • |
Consequences
|
|
|
|
– |
Whenever client
code expects a primitive object, it can also
|
|
|
receive a
composite object
|
|
|
|
– |
Makes the client
simple
|
|
|
|
– |
Facilitates
adding of new components
|
|
|
|
– |
Can make design
overly general – makes it hard to restrict the
|
|
components of a
composite
|
|