Frank, Ulrich

Delegation: An important concept for the appropriate design of object models

In many application domains, there are certain aspects that cannot be modeled in an adequate way using generalization - although it may be the concept of choice at first sight. Sometimes common associations, such as interaction or aggregation, will fail as well. In those cases, delegation often shows for an appropriate abstraction. While delegation has been an important concept in different areas of computer science for a long time, it is not explicitly offered by any of the major object-oriented modeling languages. The concept of delegation is introduced as part of an OO modeling language. Why both inheritance and common associations sometimes fail to model certain aspects of the real world is analyzed. Then, how delegation allows us to fill this conceptual gap is detailed. The semantics of delegation as a modeling concept is specified in a metamodel. To foster the appropriate use of delegation, a few examples together with a number of general design criteria are included.


SYSTEMS DESIGN
GUIDELINES
CUSTOMIZATION
OBJECT ORIENTED PROGRAMMING
MODELS

H004.415 JOU