> Rich, so based on this, it means I should have a dogFactory for my
> dogGateway as well as my dogDAO, right?

Nope, you would have a single dogFactory to handle creation of dog
objects.  In its simplest form, the dogFactory would simply return a
newly created dog instance.  When inside your DAO, you would have CS
inject the dogFactory.

Here is an example read method for the dogDAO (assuming a getter/setter
for the dogFactory and that it is injected):

<cffunction name="read" access="public" returntype="path.to.dog">
        <cfargument name="dogID" required="true" type="numeric" />
        <cfset var qRead = "" />
        <cfset var dog = "" />
        
        <cfquery name="qRead" datasource="#dsn#">
                SELECT  id, breed, weight
                FROM    dogTable
                WHERE   dogID = <cfqueryparam value="#arguments.dogID#"
cfsqltype="cf_sql_integer" null="false" />
        </cfquery>

        <!--- ACCESS FACTORY HERE --->
        <cfset dog = getDogFactory().getDog().init() />
        
        <cfif qRead.recordcount>
                <cfset dog.setID(qRead.id) />
                <cfset dog.setBreed(qRead.breed) />
                <cfset dog.setWeight(qRead.weight) />
        </cfif>

        <cfreturn dog />
</cffunction>

Does that make things clearer?

Rich Kroll

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Upgrade to Adobe ColdFusion MX7 
Experience Flex 2 & MX7 integration & create powerful cross-platform RIAs 
http:http://ad.doubleclick.net/clk;56760587;14748456;a?http://www.adobe.com/products/coldfusion/flex2/?sdid=LVNU

Archive: 
http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:269635
Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm
Unsubscribe: 
http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4

Reply via email to