Paul Hammant wrote:

Berin,


Either way the effect is the same.

Should I have the ability to change a lifecycle interface without it being
concidered backwards incompatible.


Sorry dude, I'm still not quite there. It is not so much of a declaration as an ambiguity. This from me being the worst master of the English language in this mail list.

Is the declaration? : We will try not change any of the lifecycle methods from now on for Components. If we do, we *will* maintain backwards compatibility.



I am saying that *strict* backwards compatibility would not allow me to change the implementation of a Component from Loggable to LogEnabled. If we _relax_ that requirement so that only the role interface and contracts surrounding it must remain backwards compatible, then I could change Loggable to LogEnabled. I would also be able to later add Initializable, or remove Contextualizable.

For Components, the lifecycle interfaces are supposed to be different
concerns.

so the vote is: Do we enforce *strict* backwards compatibility or *relaxed*
backwards compatibility?

--

"They that give up essential liberty to obtain a little temporary safety
 deserve neither liberty nor safety."
                - Benjamin Franklin


-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>



Reply via email to