If you think method 2 is a good idea, just use a struct instead (because
at that point you've eliminated any encapsulation a CFC provides).

Why do you think maintaining getters/setters is a burden? Is it too much
typing (I hope no one is typing getters/setters by hand!).

-Dave

>>> [EMAIL PROTECTED] 01/19/06 1:22 PM >>>
I like the use of beans as a bridge to transport data between the
presentation layer (forms) and business objects, which do all the
database interactions.  Constructing beans can be a repetitive and
time-consuming task, so lately I have been toying around with a
different transfer object that acts like a bean, but it is easier to
build, add on, and maintain.  I would like your opinions on it and
whether it is a good or bad.

Instead of writing a bean that has getters and setters and will
interface like this:


<cfset objFilter=CreateObject("component","reportFilter").init(dsn)>

Method #1

<cfset objFilter.setFirstname="John">
<cfset objFilter.setLastName="Doe">

I then pass this objFilter into my business object.  Inside the business
object, the values in the filter object will be accessed like this:

Arguments.objFilter.getFirstName();
Arguments.objFilter.getLastName();

Method #2

I have been toying with this method:

<cfset objFilter.add('firstname','John')>
<cfset objFilter.add('lastname','Doe')>

Inside my business object, I would access the values of the objFilter
like this:

Arguments.objFilter.getValue('lastName')
Arguments.objFilter.getValue('firstname')

The advantage I see in Method 2 is that as the business object requires
additional filter parameters, the objFilter object doesn't require the
maintenance of adding more getters or setters. 

Any thought on the good or bad on Method #2 is appreciated.  Thanks.


----------------------------------------------------------
You are subscribed to cfcdev. To unsubscribe, send an email to
[email protected] with the words 'unsubscribe cfcdev' as the subject of
the email.

CFCDev is run by CFCZone (www.cfczone.org) and supported by CFXHosting
(www.cfxhosting.com).

An archive of the CFCDev list is available at
www.mail-archive.com/[email protected]




-----------------------------------------
CONFIDENTIALITY NOTICE: This email and any attachments may contain
confidential information that is protected by law and is for the
sole use of the individuals or entities to which it is addressed.
If you are not the intended recipient, please notify the sender by
replying to this email and destroying all copies of the
communication and attachments. Further use, disclosure, copying,
distribution of, or reliance upon the contents of this email and
attachments is strictly prohibited. To contact Albany Medical
Center, or for a copy of our privacy practices, please visit us on
the Internet at www.amc.edu.



----------------------------------------------------------
You are subscribed to cfcdev. To unsubscribe, send an email to 
[email protected] with the words 'unsubscribe cfcdev' as the subject of the 
email.

CFCDev is run by CFCZone (www.cfczone.org) and supported by CFXHosting 
(www.cfxhosting.com).

An archive of the CFCDev list is available at 
www.mail-archive.com/[email protected]


Reply via email to