* Sam Holden <[EMAIL PROTECTED]> [2005-01-15 17:09]:Only inherit when you have an ISA relationship.
I just want to chime in to agree.
Inheritance is greatly overrated and widely abused. It is almost always the very last option you should consider. Aggregation is way underrated and should be used much more often.
Do you have any evidence of this? I can guess that this may be the result of bulk of OOP education emphasizing inheritence so people presume that its the best way when its merely one choice. Given the complexities of inheritence it does require more educational space than aggregation. But I haven't seen the wide abuse you speak of. In my sphere of influence I have to hammer home the importance of semantics in OOP design and I've had to dissuade a few eager souls from inheriting where there's isn't an ISA, but in reviewing other folk's OOP code I would say that a total lack of design sense or standards is much more rampant than inheriting where it doesn't make sense. Since this is a list closely related to CPAN I'm particularly curious if there are examples where published modules are breaking this rule.
-- </chris>
"There are four boxes to be used in defense of liberty: soap, ballot, jury, and ammo. Please use in that order." -Ed Howdershelt (Author)
