On Thu, 4 Apr 2002, Richard Sitze wrote:

> I don't see the value of the interface w/o framework as-per your comments
> below.  You CANNOT use the interface for "totally generic code" without
> forcing a framework into the code also... SOMETHING has to attach an
> implementation to the logger, via pull (factory) or push (external
> dependencies) model.  So, you are going to be subscribing to one or the
> other.

Again - please define 'framework' and 'component'.

Compare c-l with JAXP or JDBC or JNDI - are those 'frameworks' ? They 
have exactly the same properties as commons-logging - they define ways to 
register and retrieve 'drivers' ( parsers, contexts ), and interfaces 
for those drivers ( Log, Context, DOM, SAX, etc). 

We curently define one mechanism for registration/discovery, exactly 
the one used by JAXP. 

Is Jaxp or JDBC 'perfect' ? I don't think so. Is it useable ( or 'good 
enough' ) for most of us. Same for the current LogFactory. 

Does any of those APIs force you to write the apps in a certain way in
order to use them ( besides what they define in order to interact with the 
API itself ) ? I don't think so.

Regarding the 'exclusive' decision - either push or pull: I really don't 
see why do you think it has to be exclusive ( one or the other ).

Both are valid - I think we agree with that, even if each person has 
different preferences. And imposing your taste on others ( by saying 
'one way or the other' or -1 attempts to support a different pattern ) is 
as bad as what Avalon is doing with the IoC. The fact that we 
use the different (exclusive) pattern doesn't make it different. 

Supporting multiple discovery and configuration mechanisms in 
commons-logging is essential if we really want it to be 'common'
and 'shared'.  

As for the (absurd IMHO) claim that introducing a new interface will make 
people believe each component _must_ support it - do you believe the same
when you use JDBC ? If you use DriverManager, do you feel required to
also use the JNDI ? There are 2 mechanisms, you can pick one ( or both) 
and there's no confusion ( I hope ). 

JAXP provides 2 parsing mechanisms - SAX and DOM, one pull the other push.
There is no confusion or requirement to use both in you code. You choose
what you like and fits your needs.


Costin


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

Reply via email to