At its core, each model is a decomposition of the system into modular, cohesive units with well‑defined interfaces. Many objects have an internal state that controls its behavior. Objects can be linked together (collaborate) to perform a certain task. Composite objects are constructed from simpler objects through hierarchical composition, where the composite object (or aggregate) owns its subobjects (or components). This theme follows the intuitive structure of any type of system assembly, from mechanical to electrical to software.
Reuse of services is achieved through instantiation of objects, aggregation, and delegation. Instantiation is the language mechanism that replicates an object type into a new object instance. By aggregating an instance of a certain component, a composite object reuses the services provided by the component object.