> From: Stephen McConnell [mailto:[EMAIL PROTECTED]]
>
> Leo Sutic wrote:
>
> >Stephen,
> >
> > 1) What will the CM interface look like? I think you just end
> > up back where you started...
> >
> >
>
> I've been using the CM term relative to Avalon 4
> ComponentManager, or, Avalon 4 ServiceLocator or
> ServiceManager as a A4 migration path.
I'm talking about the CM interface in your drawing. The little
box labeled "CM".
> > 2) what is the difference between ComponentRegistry and a
> > ComponentSelector?
> >
>
> The important difference is the the ComponentRegistry is not
> part of the
> Avalon Framework, its just a service interface, possibly
> something that
> could live in Excalibur land. The actual operations exposed by that
> interface could then be crafted to match the ECM/Cocoon/Fortress
> application space - e.g. it would extend from Component (to
> be backward
> compatible with CM), and it would contain a suite of lookup
> operations
> that leverage structured roles, hints, queries, whatever the
> ECM/Fortress/Cocoon community think is rational (i.e.
> minimise migration
> headaches).
>
> Sound good?
Not really... I think you are pushing too much to the client.
It would appear that for most normal use cases, the client needs
to supply a ComponentRegistry.
What we end up with is a framework that isn't constrained *enough* -
there's no point in using it, as you end up having to code very
much yourself anyway.
Overall this is a problem with the A5 effort - in an effort to
get cleaner architecture, we have very much removed the ease of
use of A4. In A5 you need to write your own XXXXManagers, your own
ComponentRegistry, etc., etc... Basically, you are saying that
for the single most common use case of the framework,
the framework will not provide any formalized interfaces,
at all!
Everything is pushed onto the client in some bizzare interpretation
of SoC. This is not SoC, it's a gaping hole in Avalon's feature set.
If that separates anything it separates potential users from the
framework.
/LS
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>