Hi all, Dan Diephouse wrote:
1. The component lookup mechanisms. Plexus includes a mechanism to have multiple comonents under the same role by extending Avalon's ServiceManager instead of just:I can go into a multiple-week discussion with you about that. Seperation of Concerns, Inversion of Control, you know, the "religious avalon terms" :D
ServiceManager.lookup( String Role );
there is:
ServiceBroker.lookup( String Role, String id );
and you can do things like load a component and pass a custom configuration to it which is awesome:
ServiceBroker.lookup( String Role, Configuration config );
Do I need to explain how useful these things are?
Let's not do that right now, but I do feel like pointing out avalon peeps have spent like months and months hammering out decisions wrt interfaces like ServiceManager...and I hence have a different opinion, and I think ServiceBroker.lookup( String Role, String id ) is a Bad Thing ;)
<snip testcase/>
3. It is not mutually exclusive with other containers. That is, a component developed for ECM can work in plexus and vice versa.reuse support is a tricky thing. If you do so much as
import org.zenplex.plexus.<whereisit>.ServiceBroker;
you're already on really thin ice. Once you get to
service( ServiceManager sm )
{ m_broker = (ServiceBroker)sm; }
you start losing compatibility real fast. Not that it won't work, but the effort to make it work will increase rapidly.
4. I don't want to insult the avalon team, but it isn't vapourware. It is here and working very well.none taken :D (hey wait a min...only as long as you're not implying avalon as a whole is vapourware...but I will concede an avalon "SuperContainer" is mostly a bullet on a roadmap at this point.)
cheers,
- Leo
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
