While I was coding my bean with the THIS scope I was wondering why go through the hassle if I can just get and set the values directly. Now that I realize the difference between THIS and VARIABLES scope, I still think it is a little odd to bother with a bean at all if you use the THIS scope.
I am going to go ahead and use the VARIABLES scope in my bean. I don't want to set values for the object directly. Thanks, Aaron On 11/16/06, Dave Watts <[EMAIL PROTECTED]> wrote: > > Along with many others, I am finally making my journey > > through the "Object Safari" and after much too long I am > > finally beginning to get it. The proverbial light is blinking > > and I am starting to see the forest. For a while I was trying > > to look at the forest from the trees, but I didn't know that > > I was in the trees. > > > > Now that I am a little more ready to start looking at the > > trees, two sets of code examples I am looking at are causing > > me to wonder if I should use the VARIABLES scope or the THIS > > scope in my bean objects. > > > > Here are two different methods which illustrate it: > > > > <cffunction name="setId" access="public" output="false" > > returntype="void" > > hint="Sets this person's ID"> > > <cfargument name="id" type="string" required="true" /> > > <cfset variables.id = arguments.id /> > > </cffunction> > > > > <cffunction name="setid" access="public" output="false"> > > <cfargument name="id" required="yes"> > > <cfset this.id= arguments.id/> > > </cffunction> > > > > Just a quick note: The accessor method using the VARIABLES > > scope is an actual bean object while the accessor method > > using the THIS scope is an uber-object that also contains > > CRUD and other Gateway methods. I'm not sure if that is > > influenced the choice to use THIS over VARIABLES or not... > > In Java, beans use private member variables, but expose accessors and > mutators in a way that lets you set and get those private member variables > as if they were public. This makes it easy to get and set values, but allows > you to enforce validation rules within the bean, which you couldn't do if > the variables were public. > > Since CF doesn't let you do this, you can't really create something directly > analogous to a Java bean in CF. I would recommend instead that you simply > use private member variables, and write accessor and mutator functions as > appropriate, and call those functions (which is what it appears you're > doing). > > Dave Watts, CTO, Fig Leaf Software > http://www.figleaf.com/ > > Fig Leaf Software provides the highest caliber vendor-authorized > instruction at our training centers in Washington DC, Atlanta, > Chicago, Baltimore and Northern Virginia, or on-site at your location. > Visit http://training.figleaf.com/ for more information! > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:260715 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4

