> -----Original Message----- > From: Vincent Tence [mailto:[EMAIL PROTECTED] > > > what you have here is 'optional' magic. You can remove your attribute > > compiler and your attribute metadata by replacing it with pure java > > code. When you write unit tests, when you debug your code, when you > > deploy to a constrained environment, you replace your fancy stuff with > > the pure java. > > > > I don't feel much like continuously referring to PicoContainer, but this > > is a pattern consistently followed there. You normally want to use some > > kind of xml declaration of your components (or a script, or an automatic > > classpath browser, or ...), but those are *optional*. PicoContainer is > > built around being able to replace the xml, the scripts, all that, with > > plain and simple java code. > > I think Leo really has an *excellent* point here. What's really nice with > Pico > is it's ability to run with or without the magic. They just separated the > concern of doing the thing - in plain java - from the concern of making > it easy to use the thing - with magic. And it has great implications on > the internal design and testability of Pico, as well as on its level of > acceptance by the Java Community - what I mean here is that Pico is less > frightening thus more accepted.
This is also why I like Fortress. While I have some applications which use Merlin, it is MUCH easier to debug the fortress apps. I can easily set up JBuilder to include all the needed jar and source files to do debugging break points and step throughs. As someone else pointed out (Berin or Leo) there are different application requirements -- sometimes Merlin is the tool that you need, sometimes Fortress. But I certainly agree that having a way to build and run a system without requiring the magic is a plus. The best solution is usually to give the user (in this case the developer) the choice to decide how much magic is enough. J. Aaron Farr SONY ELECTRONICS DDP-CIM (724) 696-7653 --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
