| Description | A pattern that describes a composite situation |
|---|---|
| Default Namespace |
http://www.aoModeling.org/patterns/generic/aggregation/composite
|
| Namespace Prefixes | {none} |
| Scope Definitions | {none} |
| Default Type System | {none} |
| Type System Prefixes | {none} |
| Default Constraint Language | {none} |
| Constraint Language Prefixes | {none} |
| Default Operation Vocabulary | {none} |
| Operation Vocabulary Prefixes | {none} |
| Design Patterns | {none} |
| Included Models | {none} |
Pattern Info |
|
| Category | generic/aggregation |
| Keywords | Composite Part Aggregation |
| Alias names | Aggregation |
| Purpose | This design pattern describes a situtation where a larger item is constituted from one or several smaller and heterogenous units. |
| Motivation | When several smaller items (the parts) aggregate to a larget item (the composite) they enter into a relationship that is embodied by the composite. The design pattern solves this problem by explicitely defining a composite asset as an n-ary relationship between one or several part assets. |
| Applicability | This design patterns applies to situations where the part items of a composite play a distinctive role in the business process, or when a part item plays a role in another relationship, too. Optionally, this aggregation can be enclosed by a Level 2 Structure. |
| Consequences | This design pattern models each part of the composite as a separate asset. Advantages: This results in maximum flexibility. Each asset may belong to other relationships, too, or may establish another relationship itself. Disadvantages: The disadvantage is a less compact model. Also splitting up a model into too many assets may result in generated code with more overhead than when using properties. |
| Known Applications | Object-oriented applications. Any application with nested structures. |
| Related Patterns |
|
| Level 2 Structures | composite |
| Assets | {none} |
| Annotations | {none} |
| Errors | {none} |
| Warnings | {none} |
| Infos | {none} |
| Status | Pattern contains 0 errors, 0 warnings, and 0 infos |