Publication View

Delegation: An Important Concept for the Appropriate (2007)

Abstract
Person Company Supplier acts as 0,1 acts as Fig. 6: 'Multiple' Delegation through Generalization 4.3 Guidelines for the Use of Delegation While delegation can be a valuable alternative to inheritance, it is definitely not suited to replace it in general. In order to support the decision whether or nor to use inheritance, Rumbaugh et al. suggest focusing on the "essence" of inheritance: "Inheritance should only be used when the generalization relationship is semantically valid. Inheritance means that each instance of a subclass truly is an instance of the superclass; thus all operations and attributes of the superclass must uniformly apply to the subclass." ([Rum93], p. 284) In our opinion, this criterion is rather confusing - especially because Rumbaugh et al. refer to a different concept of inheritance than the one they use when they suggest aggregation as a concept to represent delegation (see 3.2). Applying Rumbaugh et al.'s suggestion to our first example would result in specifying the class Student as a subclass of the class Person - which is - taking into account the semantics of inheritance usually provided by programming languages - exactly what we wanted to avoid. While we do not agree to the rule of thumb Rumbaugh et al. suggest, we do not agree with Veryard either: "There are no fixed guidelines when to use subtyping and when to use role entities; it is largely a matter of taste and style." ([Ver92], p. 54). Whether or not to apply delegation should always be based on a thorough analysis of the specific domain. We suggest a few guidelines that may help with this analysis. . Do not get confused by the ambiguity of "is a". Ask yourself whether a relationship between two concepts could also be called "represents" or "acts as" respectively. If this is the...

Publication details
Download http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.8.5965
Source http://www.uni-koblenz.de/~iwi/publicfiles/PublikationenFrank/JOOP00.pdf
Contributors CiteSeerX
Repository CiteSeerX - Scientific Literature Digital Library and Search Engine (United States)
Type text
Language English
Relation 10.1.1.118.6579, 10.1.1.48.69, 10.1.1.47.511