cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Steven Dolg <>
Subject Re: Layered software designs
Date Thu, 27 Mar 2008 06:25:57 GMT

Joerg Heinicke schrieb:
> On 26.03.2008 09:14, Reinhard Poetz wrote:
>> What I want to see is a concise pipeline API that comes with only 
>> little overhead in terms of its learning curve and its dependencies 
>> on third-party software. Usually this means that we stick with 
>> standard APIs as much as possible - and I think this rule applies for 
>> our situation too.
> See, one thing that I just don't get (and already asked) is how the 
> pipeline API has anything to do with uri resolving. For me the latter 
> (using or source resolve) is an implementation detail. Our 
> current pipeline interface [1] has no relationship to uri resolving. 
> It only has a reference to SourceValidity because of caching [2].
> If all this discussion is about removing this method (and the related 
> getKeyForEventPipeline()) to get rid of this dependency I'm ok with 
> it. The caching concern could be implemented in a separate Cacheable 
> interface which should then also be decoupled from uri resolving 
> (which seems to point to Peter's approach [3]).
> Joerg
> [1] 

> [2] 

> [3]
Just as a general observation:
I'm starting to believe that I do not understand (anymore) what this is 
all about.
We're jumping from high-level concepts ("caching", "layering") straight 
down to the lowest level ("it's just method a in class B") and then 
right back.
We're arguing that a certain feature is already existing and working, 
while talking about a rewrite-experiment that definitely does not have 
this feature.

But back to caching:
Caching appears to be incredibly important. Even to the point where "no 
caching" means "not acceptable".
On the other hand, when trying to find out what is really necessary and 
wanted, there isn't much left. Suddenly it's "just an implementation 
detail", "not really important", "makes no difference for the user".

Forgive me for being blunt, but all this appears to me like "I need that 
feature. I do not care how it is implemented or how it works. I just 
have to have it."
I did not expect this kind of discussion on a dev list. (I even have a 
hard time accepting this from a paying customer).

But since it's just a not very important implementation detail, I added 
a (simple) caching approach to Corona. (I hope to get a patch ready today)
Perhaps this is all just too abstract and far fetched without any common 
basis (iow. code).


View raw message