Barney if you would blog this and your experience with Tartan in detail I bet you'd get a ton of traffic. (hint hint). :-D
On Wed, 16 Mar 2005 11:34:58 -0800, Barney Boisvert <[EMAIL PROTECTED]> wrote: > Basically just a single registry of all properties and top-level > objects in the application. So any object can request a handle to the > registry and recall any object or property it needs. In particular, > it doesn't provide any sort of assistance to implementing the business > logic beyond providing a simple way to access whatever object(s) you > need for a given operation. > > There are a few main benefits: > 1) my entire app's layout (though not it's function) is laid out in a > single XML file > 2) I can extend any given class and immediately update the entire app > by changing that one XML file > 3) the init/configure method pair from Mach-II makes initialization of > all the CFCs a lot cleaner (a single abstract class implements init to > do the initialization and provides a no-op configure that CFCs can > override as needed). No need to ever pass anything into a CFC as > initialization arguments, because it can always get everything it > needs from the registry (which is passed to the abstract init method). > > I should mention that I generate a significant amount of code > programatically, so this type of abstracted architecture works very > well for me. If you're familiar with FarCry and it's concept of types > (a CFC with properties, that gets installed into the database and > such), I've taken it a step further. FarCry uses a generalized set of > DB access components (the FourQ API), which I didn't really like. I > have something similar to FarCry's types, which are used to generate > the DB tables, but I take it the next step and build custom DB > components for each entity as well, so my data access layer is custom > tailored to the specific types I'm using. Each of those different > objects is then subclassed for any custom behaviour that might be > needed and can't be generated automatically. > > cheers, > barneyb > > On Wed, 16 Mar 2005 11:15:04 -0800, Paul Kenney <[EMAIL PROTECTED]> wrote: > > Out of curiosity, what is the objective your code aims for? > > > > > > On Wed, 16 Mar 2005 09:48:12 -0800, Barney Boisvert <[EMAIL PROTECTED]> > > wrote: > > > Take a look at the Tartan framework. It looks really confusing > > > initially, but it takes care of inter-object relationship problems > > > with a remarkable degree of simplicity once you get your head around > > > it. > > > > > > I've also had great success with taking the configuration management > > > objects (AppLoader, AppManager, ListenerManager, PropertyManager, > > > etc.) from Mach-II, tweaking them to handle different object types > > > (services, daos, etc. rather than listeners, filters, events, etc.). > > > It's simpler than Tartan, and targetting a different objective, but > > > its quite effective if you already have a functioning object model and > > > just need an abstract way to wire it together. Tartan, just for > > > comparison, is a framework for implementing the business logic as well > > > as managing the various objects. > > > > > > cheers, > > > barneyb > > -- > Barney Boisvert > [EMAIL PROTECTED] > 360.319.6145 > http://www.barneyb.com/ > > Got Gmail? I have 50 invites. > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| Find out how CFTicket can increase your company's customer support efficiency by 100% http://www.houseoffusion.com/banners/view.cfm?bannerid=49 Message: http://www.houseoffusion.com/lists.cfm/link=i:4:199148 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations & Support: http://www.houseoffusion.com/tiny.cfm/54

