>>For example, in POI there are tons of classes that represent 
>>portions of 
>>the OLE2 file format.
>>Shall I have all of these become container-components?
> 
> 
> There is no reason for that.  It is your Document Object Model
> 
> 

You know in 3.0 I'm thinking about making all of these builders of 
sorts.  Meaning: NO gazillion instances of NumberRecord or 
LabelSSTRecord, instead you'll have one instance (that you can keep or
throw away) operating on some manner of memory grab bag which will store
bytes.  Or possibly a single CellValueManager which stores a few 
parallel arrays for the properties of hte cells.  It would only be 
objectified during serialization and only for an instant (and maybe not 
even then --- combine the two above).

We didn't do this for 2.0 because it will be holy hell to debug, so I 
only want to do it once our featureset is mature (meaning graphs, 
formulas and everything in between)..  We'll be there by the end of the
lingering on 2.0 schedule.


> 
>>How can I make these components serviceable?
> 
> 
> Do not make services out of objects.
> 
> 
>>Should I?
> 
> 
> No.
>

Agree that its totally silly to make bits and pieces of APIs like POI 
and (guessing without familiarity) FOP into components.

My thought would be that one could make an interface (not a Java 
interface I mean some kind of wrapper or something) to HSSF a component, 
but not any part of POI.

And for the record anything like that would end up in the contrib 
because there is no sense to create a dependancy on avalon for such a 
thing.  (I realize you just were making an example but I felt the need 
to elaborate)


> 
> 
>>It seems that when the model becomes too finegrained, the Avalon 
>>patterns become difficult to use.
> 
> 
> That is because you are thinking in pure OO terms.  You need to
> stretch and think in terms of services/components.
>

The process of taking in an input and outputting Excel or other formats 
could be thought of as a service.

The thing that does the actual output that must be manipulated by the 
service and its deligates could be thought of as a component.  (the 
wrapper around POI if you think there is a need to do so)

At least thats my thinking.  (But I'm not an Avalon-genius)

-Andy

> 
>>Comments, ideas?
> 
> 
> See above.





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

Reply via email to