It depends, of course. Which is why I'm dead set against the whole "Let's make Gateway objects + DAO objects!" sort of thinking - it couples your object design to your table design, which is bad, bad, bad.
----- Original Message ----- From: "Dawson, Michael" <[EMAIL PROTECTED]> Date: Monday, November 15, 2004 1:22 pm Subject: RE: [CFCDev] table DAO > But, theoretically, you shouldn't think in terms of tables, but > think in > terms of objects. An object may need to store data in multiple > tables.You would then have a DAO for that object. In the DAO, you > may have a > method "create()" that inserts a new record in the main table, then > inserts a default child record in a userType table. > > Or, is that the business logic that handles that? > > :-S > > M!ke > > -----Original Message----- > From: [EMAIL PROTECTED] [EMAIL PROTECTED] On > Behalf Of Tim Van Der Hulst > Sent: Monday, November 15, 2004 2:18 PM > To: [EMAIL PROTECTED] > Subject: RE: [CFCDev] table DAO > > getAllActive() > getByOwner( ownerID ) > getAllPrecedingDate( date ) > > oh yep avoid that stuff like the plague. haha my early DAO's were like > that before I realised all I needed was the one base DAO and the very > occasional need to create a specialised subclassed DAO. Mind you in > saying that I still haven't really tackled multiple tables/joins yet > tho. > > TiM > > > > -----Original Message----- > From: Doug Keen [EMAIL PROTECTED] > Sent: Tuesday, 16 November 2004 9:13 a.m. > To: [EMAIL PROTECTED] > Subject: Re: [CFCDev] table DAO > > > > Ok then - so that brings up -another- question. getAll by > itself, IS > rare. > > Most of the time I'm doing getAll where Active=1, or getAll > where > > Owner=Me, or some such. So if we have a Gateway CFC to handle > getting > > a bunch of crap, where do we put filters? That's business logic - > and > > it seems like it would make sense in the core CFC for the datatype. > > Often, in that situation, I'll actually create different methods for > different filtering options. For example, I may have a CFC with these > *public* methods: > getAll() > getAllActive() > getByOwner( ownerID ) > getAllPrecedingDate( date ) > > Those public methods would then simply relay the call to a *private* > method that contains the SQL and could have an interface like Tim > describes: > getAll( condition, order ) > > That way, you get the best of both worlds... the caller doesn't know > about the table structure, but your SQL code is isolated in a single > private method. The public methods simply relay the appropriate > information into the private method and return the results. > ---------------------------------------------------------- > You are subscribed to cfcdev. To unsubscribe, send an email to > [EMAIL PROTECTED] with the words 'unsubscribe cfcdev' > in the message of the email. > > CFCDev is run by CFCZone (www.cfczone.org) and supported by Mindtool, > Corporation (www.mindtool.com). > > An archive of the CFCDev list is available at > [EMAIL PROTECTED] > ## > ## > ---------------------------------------------------------- > You are subscribed to cfcdev. To unsubscribe, send an email to > [EMAIL PROTECTED] with the words 'unsubscribe cfcdev' > in the message of the email. > > CFCDev is run by CFCZone (www.cfczone.org) and supported by Mindtool, > Corporation (www.mindtool.com). > > An archive of the CFCDev list is available at > [EMAIL PROTECTED] > ---------------------------------------------------------- > You are subscribed to cfcdev. To unsubscribe, send an email > to [EMAIL PROTECTED] with the words 'unsubscribe cfcdev' > in the message of the email. > > CFCDev is run by CFCZone (www.cfczone.org) and supported > by Mindtool, Corporation (www.mindtool.com). > > An archive of the CFCDev list is available at www.mail- > [EMAIL PROTECTED] ---------------------------------------------------------- You are subscribed to cfcdev. To unsubscribe, send an email to [EMAIL PROTECTED] with the words 'unsubscribe cfcdev' in the message of the email. CFCDev is run by CFCZone (www.cfczone.org) and supported by Mindtool, Corporation (www.mindtool.com). An archive of the CFCDev list is available at [EMAIL PROTECTED]
