Re: Mixing OO and DB
From: Robert Martin <unclebob_at_objectmentor.com>
Date: Tue, 4 Mar 2008 17:03:34 -0600
Message-ID: <2008030417033458821-unclebob_at_objectmentorcom>
> :
>
> d
>
> Um, like what if there are zero Bob's or 200 Bob's in the actual
> system? Are you gonna arbitrarily pick one?
Date: Tue, 4 Mar 2008 17:03:34 -0600
Message-ID: <2008030417033458821-unclebob_at_objectmentorcom>
On 2008-03-04 00:25:43 -0600, topmind <topmind_at_technologist.com> said:
>> On 2008-03-03 06:59:57 -0600, "David Cressey" <cressey73_at_verizon.net> said
> :
>> >>> >>> "Bob Bad Odor" <bbadour_at_pei.sympatico.ca> wrote in message >>> news:47cb2504$0$4034$9a566e8b_at_news.aliant.net.. >> >>>>>> Not if they are explanatory. Employee.find("Bob") is a lot easier to
>
>>>>>> understand than Select * from Employee_Table where Name = 'Bob'; >>>> >>>> How exactly does Employee.find(string) inform the reader that the metho
> d
>>>> will return a single employee with a matching name? People understand >>>> things better when they are informed. >> >> Well, if you think 'find' is not evocative enough, then you could call >> the function find_single_employee_matching_name("bob");
>
> Um, like what if there are zero Bob's or 200 Bob's in the actual
> system? Are you gonna arbitrarily pick one?
Don't be silly. find("Bob") will either return the object for "Bob" or it will return nothing. You would only use this method if you knew that there could be no more than one "Bob".
If there could be more than one "Bob", then you would use a function like: find_all("Bob") which would return a list of all the matching objects.
-- Robert C. Martin (Uncle Bob) | email: unclebob_at_objectmentor.com Object Mentor Inc. | blog: www.butunclebob.com The Agile Transition Experts | web: www.objectmentor.com 800-338-6716 |Received on Wed Mar 05 2008 - 00:03:34 CET