Home

Add a comment

 

Re: The Key to Maintenance is Compartmentalisation

I guess one problem with OO and inheritance is that only very few people really understand the roles of Inheritance in OO languages.
Inheritance is a key concept of object-oriented languages and plays different roles:

-Subclassing. At the implementation level, it is a means for code reuse.

-Subtyping. At the design level, it defines a substitutability relationship.

-Is-a Relationship. At the conceptual level, it represents a conceptual specialization relationship.

These roles of inheritance can conflict and preaching that code duplication is always wrong just means that you haven't fully understood the concept of inheritance.

Check out this paper (from 1996!):

http://helios.mm.di.uoa.gr/~anya/pms521_papers/p438-taivalsaari.pdf

Interestingly a lot of interesting discussion of different forms of inheritance has happened in the last century. And what we have today is just one possible form and I'm not even convinced that it is best possible form.

Re: The Key to Maintenance is Compartmentalisation


Title
Body
HTML : b, strong, i, em, blockquote, br, p, pre, a href="", ul, ol, li, sub, sup
Name
E-mail address
Website
Remember me Yes  No 

E-mail addresses are not publicly displayed, so please only leave your e-mail address if you would like to be notified when new comments are added to this blog entry (you can opt-out later).