Paulo Gaspar wrote:
>
> About Object instead of Component...
...
> I am using a CM similar in concept to the one Berin is proposing for many
> months already (I think it will be one year in October) and getting rid of
> Component and the other marker interfaces was one of my best decisions.
>
> The Component interface is a major PITA when you want to reuse existing
> components.
"classes", if you want to reuse existing 'classes'.
> Example: if I have a Database Connection Pool independent from Avalon that
> I want to use with an Avalon CM, I will have to either:
> - Have and change the DB Pool source in order for it to return Connection
> objects that implement Component;
> or
> - Wrap the DataSource objects with my own DataSource that wraps the
> originaly returned Connection with a proxy Connection that implements
> Component.
>
> With my CM I just need to implement a factory for the DB Connection pool
> and the reason I can do that is because my CM uses neither Component nor
> other marker interfaces.
You are telling me that instead of doing
ConnectionPool pool = new ConnectionPool(...);
you like to do
ConnectionPool pool = (ConnectionPool) factory.create("connection
pool");
Despite the obvious type unfafetyness introduced, admittedly, this is a
step forward in the control of pooled objects.
Now, you (and Berin) were suggesting that the CM be extended to provide
a single point of contruction control not only for Avalon components,
but also for those legacy objects that might request non-simple
contruction control (such as pooled resources).
I'm still very skeptical this is a good thing to do, it seems to be
blurrying the component concept way too much.
> In my CM the "factories" make the bridge between the CM/framework and the
> components. The "component factories" define:
> - How a component is obtained;
> - How it is released;
> - What is its lifestyle and other "details" that the CM must know.
>
> No marker interfaces.
>
> This makes it MUCH simpler to have a lot of components/parts that are
> independent from the CM/framework but that can be used by the CM/framework
> with a minimum of coding.
Hmmm, I have to think about this some more.
--
Stefano Mazzocchi One must still have chaos in oneself to be
able to give birth to a dancing star.
<[EMAIL PROTECTED]> Friedrich Nietzsche
--------------------------------------------------------------------
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]