cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sylvain Wallez <>
Subject Re: [C3] Caching
Date Tue, 23 Dec 2008 09:11:32 GMT
Carsten Ziegeler wrote:
> Hi,
> I just started with looking closer at the pipeline stuff we have for c3
> atm. My first impression was that there are too many interfaces which
> might confuse users :) As we step away from just a sax based pipeline, I
> fear we really might need all these interfaces :(
> The other thing is caching: i guess in many scenarios caching is not
> done on the pipeline or even pipeline component level. So I think we
> should try to make caching more optional - I know that it is optional
> from a feature point but I would like to have the pipeline jar as small
> as possible and move the caching stuff into an optional/additional lib.
> I have no good idea atm how to do this as the pipeline components itself
> need to be aware of caching. But perhaps someone else has?

I'm fearing OMS (Over Modularization Syndrome) here. Modularizing is 
good for either very different functional areas or external module 
dependencies. But in the case of caching, it is IMO a core feature of an 
efficient pipeline implementation even if there are some use cases where 
caching isn't useful or possible.

So caching should be part of the core pipeline feature set, but the 
cache should be an optional dependency of the pipeline object (i.e. it 
can be null) for those use cases where caching doesn't make sense.

That way we keep a core concern into the core library, but do not 
require people to use it if they don't want to. But more importantly 
IMO, we avoid having a confusing multiplication of super-fine-grained 
libraries and also the increased architectural complexity needed to 
separate caching into an optional module.


Sylvain Wallez -

View raw message