On Tue, Aug 11, 2009 at 10:44 AM, Robert Burrell Donkin<[email protected]> wrote: > avalon is an IoC container but is mainly tooled for composition using > the Service Locator pattern (Servicable, ServiceManager). these days, > dependency injection (whether through setters or constructors) is much > more popular. so, i think we should add setters, getters and > constructors so that Servicable components can also play well in DI > containers. > > opinions? > objections?
The avalon lifecycle interfaces have this nice container-provided guarantee that after the last few of them have been called, you know your component is in a fully initialized state, fully aware of its surroundings, and that those surroundings won't change after that (unless you implement Re* which is again a set of specific contracts). While I think its quite alright to add support for dependency injection, I think it is important to keep this guaranteed-to-be-initialized-at-an-obvious-point-in-time contract intact. That's trivially true if you use constructor DI, but not so much so if you add setters, so I'd rather not see any setter injection. Make sense? cheers, - Leo --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
