"Victor Mote" <[EMAIL PROTECTED]> wrote on 18.05.2004 22:12:45:

> The real question on modularity was never whether it should be a 
> but whether it hurt the project. On open-source projects, priorities are
> really set by each individual. You fix the thing that hurts the most at 
> moment, and that might be different for each developer. If I am working 
> A, and you are working on B, as long as your work on B isn't bad for the
> project as a whole, I have no right to complain. Nobody has yet put 
forth a
> good argument against modularization, but it was opposed anyway. So now
> we'll have a chance to test it in the real world.

In my formatter, I have implemented modularized layout. From the start, I
was sceptical, and I was indeed tempted several times to throw the concept
out of the window because it got in the way, but in the end it was always
possible to maintain the separation of concerns between different kinds
of layouters (BlockArea, Table, Page, and List for example) even though
the interaction is admittedly complex. And, yes, it's sometimes hard to
follow the logic by staring just at the code - which I prefer to using

To summarize my impressions from this:
1. I would do it again this way.

2. Maintaining clean separation of concerns *forced* me to redesign my
layouter interfaces several times when I added new functionality, but
I gained an implementation that I still understand clearly in its entirety
even I cannot work on it for a week.

3. The only place where I have difficulties after some time off is my
BlockAreaLayouter which is one very large chunk of code. Maybe it's even
worth factoring out a LineAreaLayouter, though I'm not sure of it - the
interaction is really tight.

4. It's too early to estimate how much modularized layout will hurt
performance in the end. My gut feeling is: not much, and it's probably
wort it.

So, from my own experience I can only encourage you to go forward with
your plan. For me, it worked so far. Let's see if the XSL rec turns
up more nasty surprises...


Arnd Bei▀ner
Cappelino Informationstechnologie GmbH

Reply via email to