> From: Marcus Crafter [mailto:[EMAIL PROTECTED]] > > On Tue, Jun 18, 2002 at 11:20:46AM -0400, Berin Loritsch wrote: > > > From: Nicola Ken Barozzi [mailto:[EMAIL PROTECTED]] > > > This would solve 90% of the problems I had with Avalon. > > > I had to create my container implementation because of this, > > > and it was > > > a real PITA. > > > > > > BTW, I regard it as a requirement to be able to do this > > > without having > > > to create my complete version of the > > > container-componentmanager-whateverwecallit. > > > > Understood. The main challenge is what extensions do we > > support. I.E. Marcus had four phases of component use > > when Avalon only ever talks about 3 (init, active, > > destruction). > > The phases came from my experiences with Cocoon, and trying to > encapsulate a general solution that included its needs with our own. > > IMO the following phases exist: > > 1. instantiation (bring the component to life) > 2. access (get a reference to the component) > 3. use the component (call business logic methods) > 4. release (release the component back to the CM) > 5. destruction (decomission the component). > > I separate 1 and 2 because a lookup() doesn't always mean the > creation of a new component. I know client code doesn't generally > differentiate between this, but some of our users already have and > have defined lifecycle stages of this type. > > (Cocoon is the example I've been using here with it's > RequestLifecycleComponent interface). > > I'd find it useful to be able to tailor a component at lookup() time, > especially in such a request based environment, but perhaps this needs > to be discussed further. > > 4. is, as discussed previously terminally ill :-)
Marcus, If I may... If you have 'tailor' step (number 2), you should (or: it would be wise to) 'un-tailor' component some time after step 3..., unless it is automagically done by some omnipotent force. Vadim > 5. is clear. > > Cheers, > > Marcus -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>