+1, I support both approaches, but one is saving an object so I call it
saveObject(Object: object) and the other is saveStruct(Struct: struct,
PropertyNameList: string). In the first I¹m taking a well formed object and
depending on my implementation either asking it to save itself or asking it
for its properties and looping through them using a getter to build the
appropriate insert or update SQL. In the second I call a factory for a new
object (encapsulated via ObjectService.new()), then I Object.loadStruct()
and then I call saveObject() on the object I just loaded.
I definitely see two different intents and methods as being appropriate
here.
Best Wishes,
Peter
On 4/24/07 8:53 PM, "Patrick McElhaney" <[EMAIL PROTECTED]> wrote:
> Why do you need method overloading? Why can't you just have two different
> methods with different names? It looks like the methods aren't really doing
> the same thing anyway. The first takes an existing object and saves it. The
> second creates a new object and saves it.
>
> Patrick
>
>
>
> On 4/24/07, Aaron Roberson <[EMAIL PROTECTED]> wrote:
>> I have a question that could be answered with method overloading but
>> since CFML is dynamic we don't have that option. What I do you suggest
>> I do instead?
>>
>> In my service layer I have a method called saveObject(). At present it
>> takes an object as the argument and does this simple bit:
>>
>> return variables.objectDAO.save(object);
>>
>> At times, it seems that I can pull more logic out of the controller
>> and placing it in my service layer by passing in parameters for each
>> property of the object. Then in the saveObject() method I would have
>> the following:
>>
>> object = createObject("component","path.to.object");
>> object.setProperty1(arguments.property1);
>> object.setProperty2 (arguments.property2);
>> ....
>> return variables.objectDAO.save(object);
>>
>> Both of these approaches are valid and have their place. If we could
>> do method overloading I would create both methods and the problem
>> would be solved. Since we can't, what do you suggest I do instead?
>>
>> Obviously I have to abandon one in favor of the other. Which approach
>> do you use and why?
>>
>> Thanks,
>> Aaron
>>
>>
>> You are subscribed to cfcdev. To unsubscribe, please follow the instructions
>> at http://www.cfczone.org/listserv.cfm
>>
>> CFCDev is supported by:
>> Katapult Media, Inc.
>> We are cool code geeks looking for fun projects to rock!
>> www.katapultmedia.com <http://www.katapultmedia.com>
>>
>> An archive of the CFCDev list is available at
>> www.mail-archive.com/[email protected]
>> <http://www.mail-archive.com/[email protected]>
>>
>
>
You are subscribed to cfcdev. To unsubscribe, please follow the instructions at
http://www.cfczone.org/listserv.cfm
CFCDev is supported by:
Katapult Media, Inc.
We are cool code geeks looking for fun projects to rock!
www.katapultmedia.com
An archive of the CFCDev list is available at
www.mail-archive.com/[email protected]