----- Original Message -----
From: "stephan beal" <[EMAIL PROTECTED]>
> If the project as a whole shies away from subclassing and interfaces, why
is
> Java the implementation language? i'm not trying to ruffle any feathers,
but
> i can't help but get the sense that project is reluctant to take real
> advantage of some of Java's biggest strengths.
Let me just clarify a bit, as its been taken out of context and exaggerated
some.
I'm not at all adverse to subclassing. But in OO its generally best to save
it for last, when you *really* need it. Don't burn up your inheritance
hierarchy right away if you can get by with using other OO techniques first.
Don't blur my comments with ant-dev as a whole. I speak for myself, and not
necessarily for the group.
And I don't shy away from interfaces at all. They are very important and
necessary. But don't confuse our reluctance to break Ant 1.x backwards
compatibility with shying away from interfaces.
> To touch on the "refactor vs. subclass" debate: Typically, refactoring
> changes APIs and subclasses change behaviours. Every time a class is
> significantly refactored, it's subclasses are in danger of not working.
Every
> time a leaf-node subclass is introduced to provide new behaviours, only
that
> class is in danger of not working. i don't understand the aversion to
> subclassing, and especially don't understand the preference for
refactoring
> over subclassing, especially considering that backwards compatibility has
> been the main argument for not making Task an interface.
Again, my suggestions are merely my own - do what you think is best with the
code you're working on, submit it, and we can discuss it further then. So,
lets stop talking about this and start coding! Enough time spent on
debate.... show us the code! :)
Erik
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>