commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tim Moore" <>
Subject RE: The exegesis
Date Mon, 12 Aug 2002 16:42:01 GMT
I'm no committer, just an interested observer/user of commons

Something that concerns me with some of the recent developments in
commons and with the patterns project in particular is that it sometimes
seems to be putting the cart before the horse.  That is: it's defining
interfaces and expecting other Jakarta projects to retrofit their code
to implement them, when there don't seem to be any classes that actually
USE the interfaces.

Before adding lifecycle interfaces to patterns, please explain what
classes will be using Initializable and the other interfaces.  If you're
going to be adding lifecycle management classes to patterns or another
commons project, that seems to be turning it into a framework.  My
understanding is that the purpose of commons is simply to provide
various "grey box" components that can be plugged into other
applications and frameworks, and that providing an entire application
framework of its own is explicitly NOT in the scope.

On the other hand, if you're not adding lifecycle management classes to
commons, then what do you gain from having the interfaces there?

IMO, commons seems to work best when one Jakarta project sees a
component in another one that they want to reuse, and that component is
factored out to be independent of the original project.  My experience
has been that when people try to create components with the intent of
reuse without having an actual concrete use first, they end up creating
something overly complex that doesn't really suit anyone.

Tim Moore / Blackboard Inc. / Software Engineer
1899 L Street, NW / 5th Floor / Washington, DC 20036
Phone 202-463-4860 ext. 258 / Fax 202-463-4863

> -----Original Message-----
> From: Stephen Colebourne [] 
> Sent: Sunday, August 11, 2002 7:07 PM
> To: Jakarta Commons Developers List
> Subject: Re: The exegesis
> From: "Geir Magnusson Jr." <>
> > On 8/11/02 6:26 PM, "Vincent Massol" <> wrote:
> >
> > > I haven't been following the discussion, but I agree with you : 
> > > Avalon Framework should be in Commons
> >
> > I haven't followed either, but just explain the above - why should 
> > Avalon Framework be in commons?  Do the avalon people want it in 
> > commons?  Why don't they want it in Avalon?
> The views seem to be (generalising):
> - Avalon people want lifecycle in Avalon
> - Many commons people instantly -1 the moment 'lifecycle' is mentioned
> - I have said that lifecycle type interfaces COULD go in [pattern]
> There is a degree of confusion however. Lifecycle to an 
> Avalon person means a particular set of interfaces that mean 
> VERY precisely defined things in a contract that works ACROSS 
> interfaces. When I talk about putting lifecycle type 
> interfaces in [pattern] I mean interfaces that are 
> INDEPENDENT of one another, not part of a framework.
> Is there really something scary about saying that if a class 
> can be initialised then the method name should be 
> initialize()?? As a standalone interface?
> What if the lifecycle type interfaces were in [pattern] ??  
> The Avalon interfaces still exist - they extend the Commons 
> version not to add extra methods, but to add the 
> cross-interface lifecycle contract that is at the heart of Avalon.
> Re-read that last paragraph. Then read it again.
> If you understood it then everyone should be happy.
> - Lifecycle, as a framework, is in Avalon.
> - Lifecycle pattern interfaces are in [pattern].
> Stephen

To unsubscribe, e-mail:   <>
For additional commands, e-mail: <>

View raw message