> In Avalon you can control a component's lifecycle, in type3 you can't, > because the component decides itself. No way of knowing what it does in > its constructor. So I actually wonder whether type3 is IOC at all.
The Avalon Framework component contract clearly defines the order in which the "lifecycle" interfaces MUST be called. LogEnabled, Contextualizable, Serviceable, Configurable, Initializable -- in that order I believe. For a container to invoke these methods in any other order is an implementation error which violates the component contract and could possibly leave the component in an unknown state. There is no such chance with IoC 3. And as it has been discussed before, "lifecycle" is actually a misnomer for these interfaces. The above interfaces allow the component to put itself together before it is actually brought out to face the world. It is like a parent (the container) passing on its DNA to its child (the component) before it is born. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
