This is a good discussion!
I must admit I like Brian's Abstract Factory idea but does it have to be as
complex as Abstract Factory (you can tell they scare me a bit :-)
Would a simple Factory not do the job. ie the db can store in a table a version
number and the factory can give the Service the relevant DAO's / Gateways it
needs to work on the db?
ie you have a standard xxxxxDAO.cfc and a xxxxxDAOv2-1.cfc and the Factory
determines what to use.
You can do the same with your views if you need slightly different displays and
have a cfc handle the logic of what view to use.
Even this factory approach has a strict Java / C# OO feel about it. It can be
even simpler so the factory just gets the version from the db and does a <cfset
variables.xxxService.setxxxDAO(getBean("xxxDAOv#variables.qDbVersion.versionNumber#")
/> and the setter in the service has a type="any" ... ie no need for
interfaces or abstract dao class types
Something along those lines anyway!
Lovin' mxUnit by the way Marc :-)
Alan
________________________________________
From: [email protected] [EMAIL PROTECTED] On Behalf Of Tom Chiverton
[EMAIL PROTECTED]
Sent: 02 July 2008 16:48
To: [email protected]
Subject: [CFCDEV] Re: Advice on
On Wednesday 02 Jul 2008, Marc Esher wrote:
> That's true. It's mainly a matter of time and money. If we have 10
> systems, and there's a need to change (like my candy example), it
> generally is a need that arises from a single system but which will
> get pushed into all other systems eventually. It's just that it can
> take a bit of time to get the other systems in compliance.
So would simply versioning the DB schema against a version of the application
work then ?
Then as the other DBs get the same update done, you roll out the mathcing
application rev. ?
--
Tom Chiverton
****************************************************
This email is sent for and on behalf of Halliwells LLP.
Halliwells LLP is a limited liability partnership registered in England and
Wales under registered number OC307980 whose registered office address is at
Halliwells LLP, 3 Hardman Square, Spinningfields, Manchester, M3 3EB. A list
of members is available for inspection at the registered office. Any reference
to a partner in relation to Halliwells LLP means a member of Halliwells LLP.
Regulated by The Solicitors Regulation Authority.
CONFIDENTIALITY
This email is intended only for the use of the addressee named above and may be
confidential or legally privileged. If you are not the addressee you must not
read it and must not use any information contained in nor copy it nor inform
any person other than Halliwells LLP or the addressee of its existence or
contents. If you have received this email in error please delete it and notify
Halliwells LLP IT Department on 0870 365 2500.
For more information about Halliwells LLP visit www.halliwells.com.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"CFCDev" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/cfcdev?hl=en
-~----------~----~----~----~------~----~------~--~---