Sonu Vijay wrote:

Stephen wrote:

I'm assuming your referring to
jakarta-turbine-fulcrum/pool. This component has been fully converted. You may have
been looking at the API package (most of the component have also been
separated with respect to api and impl). The @avalon tags only need to
present on the implementation classes.


Could u pls drop a hint or point to a resource that
expalins why have the classes been seperated into api
and impl packages.

Is that a backward compatibility issue or what.

Nothing to do with backward compatibility.


The reason is to enable the components to be used by other components without forcing the consumer to know about the implementation classes. For example, if you create a component DefaultWidget, and my DefaultGizmo component needs a Widget - then all I need to know about is the API for Widget. I don't need any of your implementation classes in my classloader.

If you don't separate API and impl classes, then you force the consumer to know about your implementation - which means immediately that the consumer deployment model for Gizmo is bound to your implementation of Widget. In order to keep my Widget component as a easily reusable component, I'll try and find a Gizmo implementation with a clean api impl separation - i.e. no baggage beyond the API that I already need to know about.

Cheers Stephen.


Thanks Sonu Vijay

__________________________________
Do you Yahoo!?
Yahoo! Hotjobs: Enter the "Signing Bonus" Sweepstakes
http://hotjobs.sweepstakes.yahoo.com/signingbonus

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




--

|------------------------------------------------|
| Magic by Merlin                                |
| Production by Avalon                           |
|                                                |
| http://avalon.apache.org/merlin                |
| http://dpml.net/merlin/distributions/latest    |
|------------------------------------------------|

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



Reply via email to