You should build a "facade" if what you really want is to call these
components through Flash/Web Services.  Sean wrote a good article on this
topic a while back (and has talked about it on this list and elsewhere
since).

http://www.macromedia.com/devnet/mx/flashremoting/articles/facades.html

Basically, you have a CFC that your Flash/Web Service interface uses which
then stores instances of components in the appropriate scope
(Application/Session/Server).

What you are proposing to do will probably cause you more pain than
pleasure -- facades is what you want.





> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
> Behalf Of Brad Howerter
> Sent: Thursday, August 14, 2003 4:47 PM
> To: '[EMAIL PROTECTED]'
> Subject: RE: [CFCDev] Caching a CFC
>
>
> Thanks, Nathan.
>
> I'm not sure what you mean by 'factory', but I think I'm doing
> those things
> today and they're not working out too well for stateless web
> service calls.
> I have to keep writing facade CFCs for stateless method calls.  I was
> thinking my idea would enable me to avoid that.  Even though it
> feels wrong
> to you, do you think it's possible?  I can't get it to work;
> 'this' doesn't
> refer to the entire object.
>
> -----Original Message-----
> From: Nathan Dintenfass [mailto:[EMAIL PROTECTED]
> Sent: Thursday, August 14, 2003 5:39 PM
> To: [EMAIL PROTECTED]
> Subject: RE: [CFCDev] Caching a CFC
>
>
> Well, not sure if it's necessarily such a "bad thing" the way
> you're talking
> about, but it does feel wrong (which is, I think why Sean can't
> even imagine
> you doing it ;).  Two other suggestions:
>
> 1) Just do the caching outside of the component.  Then, just use
> server.foo
> in your code to use the component.  This gets you the benefits of not
> instantiating/initializing without making the component need to
> worry about
> the environment its operating in.
>
> 2) Build a factory-like component that you use to deliver new instances --
> then in the factory component you can call newFoo(), which can
> either return
> the cached version or make a new one.  Then the only component that has to
> worry about issue like caching of instances is specifically designed to do
> that rather than mixing that issue in with the other functionality of the
> actual component(s).  You can then still cache the factory component
> instance itself.
>
>
>
>
> > -----Original Message-----
> > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
> > Behalf Of Brad Howerter
> > Sent: Thursday, August 14, 2003 3:19 PM
> > To: '[EMAIL PROTECTED]'
> > Subject: RE: [CFCDev] Caching a CFC
> >
> >
> > I'd instantiate it anyway, yes, but I wouldn't have to reinitialize it.
> > Pretend that part of the '...' below is a method to initialize
> the object
> > and it takes a long time to run.
> >
> > And that's why I want it to replace itself with an old instance
> of itself,
> > too, so it doesn't have to be reinitialized.
> >
> > -----Original Message-----
> > From: Nathan Dintenfass [mailto:[EMAIL PROTECTED]
> > Sent: Thursday, August 14, 2003 3:25 PM
> > To: [EMAIL PROTECTED]
> > Subject: RE: [CFCDev] Caching a CFC
> >
> >
> > If you're going to end up instantiating this component anyway
> (which based
> > on that construct, it seems you'd do) why not do the caching outside the
> > component?
> >
> > Also, can you explain why the this = server.foo would be
> necessary in that
> > case?  Once you are in the component, why are you wanting to
> > replace itself
> > with an old instance of itself?
> >
> >
> >
> >
> >
> > > -----Original Message-----
> > > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
> > > Behalf Of Brad Howerter
> > > Sent: Thursday, August 14, 2003 12:37 PM
> > > To: '[EMAIL PROTECTED]'
> > > Subject: [CFCDev] Caching a CFC
> > >
> > >
> > > I'd like to have a CFC put itself in cache, and then replace
> itself with
> > > that cached object whenever it is created.
> > >
> > > Is that possible?  Is it stupid?
> > >
> > > Will this code do the trick, or is 'this' not really a
> reference to the
> > > current object, but just a scope within the object?
> > >
> > > <cfcomponent displayname="foo">
> > >   <cfparam name="server.foo" default="#this#">  <!--- put this object
> > > in server cache --->
> > >   <cfset this = server.foo> <!--- replace this object with the cached
> > > one --->
> > >
> > >   <!--- methods to follow --->
> > >   ...
> > > </cfcomponent>
>
> ----------------------------------------------------------
> You are subscribed to cfcdev. To unsubscribe, send an email
> to [EMAIL PROTECTED] with the word 'unsubscribe cfcdev'
> in the message of the email.
>
> CFCDev is run by CFCZone (www.cfczone.org) and supported
> by Mindtool, Corporation (www.mindtool.com).
>
> ----------------------------------------------------------
> You are subscribed to cfcdev. To unsubscribe, send an email
> to [EMAIL PROTECTED] with the word 'unsubscribe cfcdev'
> in the message of the email.
>
> CFCDev is run by CFCZone (www.cfczone.org) and supported
> by Mindtool, Corporation (www.mindtool.com).
>

----------------------------------------------------------
You are subscribed to cfcdev. To unsubscribe, send an email
to [EMAIL PROTECTED] with the word 'unsubscribe cfcdev' 
in the message of the email.

CFCDev is run by CFCZone (www.cfczone.org) and supported
by Mindtool, Corporation (www.mindtool.com).

Reply via email to