My best attempt at a skeleton gateway for your TrimaDAO...

<cfcomponent name="TrimaGateway">

   <cffunction name="init" returntype="any">
      <cfset variables.trimaMachines = ArrayNew(1)>
   </cffunction>

   <cffunction name="getAllTrimaMachines" returntype="array">
      <cfquery name="q_allTrimaMachines">
         select all of your trima machines
      </cfquery>

      <cfscript>
      for ( i=1; i lte q_allTrimaMachines; i=i+1 )
      {
           trimaBean = createobject("component",
"com.bloodsource.trimaBean");
         trimaBean.setID( q_allTrimaMachines['id'][i] );
         trimaBean.setSerialNumber(
q_allTrimaMachines['serialNumber'][i] );
         trimaBean.setInService( q_allTrimaMachines['inService'][i] );
         trimaBean.setOutService( q_allTrimaMachines['outService'][i] );

         ArrayAppend(variables.trimaMachines, trimaBean);
      }
      <cfscript>

      <cfreturn variables.trimaMachines>
   </cffunction>

</cfcomponent>

Master Page
---------------------------
<cfset TrimaGateway = createObject("component",
"com.bloodsource.TrimaGateway").init()>
<cfset allMachines = TrimaGateway.getAllTrimaMachines()>

// Now loop through the array of trimaBeans and output the data you need

-----Original Message-----
From: Ian Skinner [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, May 17, 2006 3:32 PM
To: CF-Talk
Subject: RE: OOD/Design Patterns and ColdFusion.

If your not going to use a gateway Object, I would put a method in your
DAO to return a query for the master list.  You could then create a bean
and populate it though each record or just output the query.  I tend to
do a bit of both so I guess my apps are more OOish the straight OO.  If
your going to use a gateway CFC, the gateway holds all the methods the
would return more than one row, as these cannot be returned to the
caller in a bean.

Ok, sounds good.  Can someone explain a little more on what a Gateway
would be; what its purpose, a basic pseudo code example of how one might
be constructed and used?  Or a good link to a resource that would help
with this?

I've heard of Gateways many times in my reading, but have yet to see a
clear example of one.


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Message: http://www.houseoffusion.com/lists.cfm/link=i:4:240831
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

Reply via email to