Thanks Alan, Brian and Patrick,
I have renamed my categoryManager to categoryService to make it clear
that this is a service layer cfc.
I have also modified my service cfc's init method to this:
<cffunction name="init" displayname="Initialise the service layer"
access="public" output="false" returntype="com.categoryService">
<cfargument name="reactor" type="reactor.reactorFactory" required="true" />
<cfset variables.local = StructNew() />
<cfset variables.local.reactor = arguments.reactor />
<cfreturn this />
</cffunction>
Is this the way forward?
It all seems to come back to ColdSpring! I keep looking into using
ColdSpring but either I have a mental block about it or it has a bit of
a steep learning curve.
Is there a simple demo app that highlights using ColdSpring and Reactor
together. I've read the intro docs for ColdSpring and I can get my head
around the basics but I can't seem to find any examples of using CS and
Reactor? Is there such a thing?
Cheers,
Dave
Brian Kotek wrote:
Comments inline.
On 8/14/07, *Dave Phipps* <[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>> wrote:
Hi,
I am just starting to put together a new app using FB5.1 and Reactor and
I would like to follow Brian's advice and add a service layer (and
possibly and remoting layer) between fb and reactor and I have a couple
of questions:
Do I set the reactorFactory into the application scope and then
reference this from within my service layer cfc's? Or is there a
better way?
Have ColdSpring inject the Reactor factory into any CFCs that need it.
Do I need to create different service layer cfc's, for example, for
category, product, customer etc? And do I then split these further into
a Manager, Gateway setup?
This sounds reasonable but yes it depends on what you are doing. You
wouldn't "split them further", the service layer CFC will then use the
Gateway or other underlying model components. I'm not sure what your
"manager" components are but they may already be handling service layer
tasks. Some people call service components "managers" so you may already
be most of the way there.
Could someone let me know if the above sounds about right and any
example snippets/file structure. One thing I am about to try is the
following:
fusebox.appinit.cfm:
application.reactor = createObject(theusual).init(config)
Then in my categoryManager.cfc:
<cffunction name="init" displayname="Initialise the service layer"
access="public" output="false" returntype="com.categoryManager">
<cfargument name="reactor" type="reactor.reactorFactory"
required="true" />
<cfset variables.local = StructNew() />
<cfset variables.local.reactor = arguments.reactor />
<cfreturn this />
</cffunction>
Would it be better to do this instead?:
<cffunction name="init" displayname="Initialise the service layer"
access="public" output="false" returntype="com.categoryManager">
<cfset variables.local = StructNew() />
<cfset variables.local.reactor = application.reactor />
<cfreturn this />
</cffunction>
No, as a rule you don't want to reference the application scope from
within your CFC. Pass Reactor into the component.
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-- -- --
Reactor for ColdFusion Mailing List
[EMAIL PROTECTED]
Archives at: http://www.mail-archive.com/reactor%40doughughes.net/
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-- -- --
--
David Phipps, Director
[EMAIL PROTECTED]
Chapel Studios / London
T +44 (0)20 7100 6980 F +44 (0)20 7100 6981 M +44 (0)7765 240899
New Broad Street House, 35 New Broad Street, London, EC2M 1NH, United
Kingdom
Visit our website: http://www.chapel-studios.co.uk
_____________________________________________________________________________
Chapel Studios is a limited company registered in England. The
information in this email is confidential, intended solely for the
addressee, and may be legally privileged. If you are not the addressee
or authorized to receive this for the addressee, you must not use, copy,
disclose or take any action based upon this message or any information
herein. If you have received this message in error, please advise
the sender immediately by reply e-mail.
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
Reactor for ColdFusion Mailing List
[EMAIL PROTECTED]
Archives at: http://www.mail-archive.com/reactor%40doughughes.net/
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --