--- Anton van Straatenwrote: > It sounds as though yvou may be claiming that good designs don't need > to run > into this issue, that it's always possible to fit a design into a > single-implementation-inheritance approach, without having to > duplicate any > implementations. I agree it's possible - I did that kind of thing > for many > years myself. However, the fact that it's possible to avoid this > issue > doesn't mean that avoiding it produces the best designs.
This is the heart of language design issues: not what the language makes 'possible', but what it makes straightforward. I've used delegation and 'HAS-A' for mixing in shared behaviour in Java.
In many cases it was absolutely the right thing to do. In others I was working around the language, not with the language.