Hey Thunder, thanks for keeping me from shoveling the sidewalk.:) And actually, I have done exactly what you said, I have a dynamicly built dao, so for adding and deleting, selecting and updating from the database, it's not a prob. Also, overloading my commands, that's what I meant by making generic classes for events, delegates, commands, etc... Ideally, what I'd like to do is to put reference different components by a gateway class, that's what I've been doing more recently, such as
Products.controllers.. Products.events.. Or Models.products.. Controllers.products.. Etc.. So once those top level domain elements are in place I'm free to start building as many interfaces as I can. And it's probably more of a question about preference than anything. But I wanted to see what other people were doing for enterprise level domains. -----Original Message----- From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of thunderstumpgesatwork Sent: Wednesday, December 20, 2006 1:30 PM To: [email protected] Subject: [flexcoders] Re: There's got to be a better way than Cairngorm Hi Brian, While I do agree that Cairngorm can lead to a maintenance nightmare when the commands get overwhelming in number, there are several things you can do to help alleviate the issue. For one thing, it sounds like you have a fairly well known domain model. I would suggest creating an abstraction of your domain objects (value objects) from your data store... this could be Hibernate, or home built DAO classes. Anything to make your domain objects not based on the tables they come from. Also, something you can do to reduce the number of cairngorm commands is overload them.. so your "getDomainObject" command could get any number of domain objects by their ID, or by some other "named query". I say named query in a general sense, but if you were using Hibernate, and/or FDMS then there are actual named queries. I have also overloaded commands to "Add/Delete/Update" on a particular value object by having an 'action' in my command event, and the command can handle each of the actions appropriately. Just keep in mind that the Commands can be used for whatever amount of load you want them to. You have control over the Event (data) and the command execution itself. I have to say I feel your pain, but as you kinda said "with flexibility comes complexity" best luck to you, Thunder --- In [email protected], "Brian Holmes" <[EMAIL PROTECTED]> wrote: > > I've been using Cairngorm for awhile, through 1.5 beta testing at > least and now with Flex 2.0. I understand the concepts it implements > and encapsulates, but my problem is with the many files that is needed > to implement it. It seems that even a simple call to one cfc that > returns a small amount of data is going to take parts of up to 5 > files. The only thing that i've found real convenient is the > ServiceLocator which makes it easy to switch out Services. > > I've tried several approaches at skimming this down, making generic > command, event and delegate classes for example that can be used with > just a bit of work. The problem is that while everything starts out > looking real simple when I do this, it turns out, as I'm sure you all > are aware of that things get complicated in a hurry. So while making > everything it's own class allows all my objects to couple loosely, it > makes maintenance a nightmare when all i'm doing is getting data from > the server. Also, using Value Objects seems to be a pain because I > usually tie them to database column names, and if they change, well, i > have to go through all sorts of views, grid columns, forms, etc to get > them sorted out > > > My question is how are other people putting together enterprise level > applications. We host more than 50 internal business applications. > Many of them use alot of the same data. User information, dept lists, > plant lists, permission levels and roles etc. Ideally I'd like to just > code for these one time and reuse them over every application that > needs them. > > It's a snow day here in Colorado, so any and all input would be > greatly appreciated. > If I look busy, my girlfriend won't make me shovel the sidewalk! :) > > Thanks, > Brian > > > > > *** > The information in this e-mail is confidential and intended solely for the individual or entity to whom it is addressed. If you have received this e-mail in error please notify the sender by return e-mail delete this e-mail and refrain from any disclosure or action based on the information. > *** > -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com Yahoo! Groups Links *** The information in this e-mail is confidential and intended solely for the individual or entity to whom it is addressed. If you have received this e-mail in error please notify the sender by return e-mail delete this e-mail and refrain from any disclosure or action based on the information. ***

