Sylvain Wallez schrieb:
Unico Hommes wrote:


API being the interfaces clients can use to embed Cocoon into their environment. So that would for instance be the Processor and Environment related interfaces. SPI would include the sitemap component interfaces. The stuff users implement to extend Cocoon's functionality. And then provide two separate implementations of the public API: servlet and cli.

I think most users don't care about classes at this level: they just grab a class here or there and start building their own by overriding public and protected methods.


And the problem is that these classes often were meant either as internal and/or helper classes and their contracts were only thought of within the scope of a particular use, but not for extension or reuse.

This reminds me to Item 15 in the book "Effective Java":


"Design and document for inheritance or else prohibit it"

I usually code everything possible as "final" (its probably the most used word in my java source). You can always relax but it's hard to restrict. This is in resonance with the FOM approch we've taken.

Maybe we need to check our sources to protect us from such "abuse".

--
Otego AG                                  Tel:   +41 (0)1  240 00 55
Giacomo Pati, CTO                         Mobile:+41 (0)79 262 21 04
Apache Software Foundation Member         Mailto:[EMAIL PROTECTED]
Hohlstrasse 216                           Mailto:[EMAIL PROTECTED]
CH-8004 Zürich                            Web:   http://www.otego.com




Reply via email to