i get it, thanks doug!

On Wed, Sep 3, 2008 at 10:49 AM, Douglas Knudsen
<[EMAIL PROTECTED]>wrote:

>   I suppose it depends.  Bet you never heard that answer before!  IMHO, if
> you are just displaying data in a DG or something, just use some XML and go
> for it.  If you need to actually interact with the data, use the VOs in a
> architected model.  Suppose your use case is that a user needs to add a
> department to a employee, code would be something like
> myEmployeeInstance.department = chosenDepartment where chosenDepartment is a
> Department instance.  Your objects on the server would be modeled this way,
> model them in your RIA this way too, less work.
>
> You may not be doing anythign wrong with your apporach, you know your use
> case best, eh?  YMMV greatly here.  It may be that having the departmentID
> and a lookup table is all you need really.  But what about next week when
> suddenly a employee needs to be in two departments?  I used to work with
> PeopleSoft data a lot, trust me rules get broken all the time :)  Or maybe
> next month the client wants to see more info about the department?
>
> I will note that you do not need to query for the department on each
> employee interation in your server code.  Just make your SQL return the all
> the (flat) data properly and while interating over it create both the
> Employee instance and the Department instance.
>
> DK
>
> On Tue, Sep 2, 2008 at 2:23 PM, Derrick Anderson <
> [EMAIL PROTECTED]> wrote:
>
>>   well it has a department ID, not another object.  If I'm bringing back
>> 1000 employee records for my datagrid, I already have to loop over that
>> query on the backend to create the array of 1000 VOs.  I don't want to have
>> to query to get a Department VO for each iteration as well, when all I need
>> is that name and it already exists in my BO by way of a lookup table.
>>
>> I store these lookups in my business logic and use them in comboboxes and
>> such (this collection populates the Department dropdown on the Employee).
>> usually i only bring them back with ID and Name.  I want to use these
>> collections to get the name for an ID at any time I need it.
>>
>> The list of departments is a list of simple objects, I didn't see the need
>> to create VO's for such things.  However I'm obviously doing something
>> wrong.  I imagined I would have to write renderers for the datagrid and that
>> would be easy enough, but that's not the only place I display data from
>> lookup tables.  In Labels, Tab Headers, all sorts of places need to get the
>> department name from the department ID in the employee VO (for one example).
>>
>> Should I just bring the department name back in the employee VO?  I'd
>> rather not, it doesn't seem right- but if that's the way to do it I will.
>>
>> D.
>>
>> On Tue, Sep 2, 2008 at 10:34 AM, Douglas Knudsen <
>> [EMAIL PROTECTED]> wrote:
>>
>>>   So, your Employee class 'has a' Department, eh?  Smells of
>>> composition.  Employee should maybe have a
>>> public var department:Department;
>>> inside it.  YMMV though, if you really need your VO to be flat for say
>>> easy DG only use or some such.
>>>
>>> DK
>>>
>>>
>>> On Tue, Sep 2, 2008 at 5:01 AM, Derrick Anderson <
>>> [EMAIL PROTECTED]> wrote:
>>>
>>>>   Hi, I've been going thru my app now that I know the magic of VO's and
>>>> converting most things to value objects- loading my VO's into datagrids,
>>>> forms, all is great.
>>>>
>>>> I do have 1 question though, let's say I have a 'employee' value object
>>>> that has the property 'departmentID'.  Is it common practice to also 
>>>> include
>>>> the 'departmentName' in the value object?  I already have a collection of
>>>> departments (departmentID,departmentName) value objects, I want to be able
>>>> to at any point find the corresponding department record so I can display
>>>> the name.  Keeping it in the VO seems like a hack though, sounds like it
>>>> would leave the application open to display sync issues (name in department
>>>> vo is updated but the customer vo is not).  I know I can write a renderer
>>>> for the datagrids to show the related values from other collections, but
>>>> there are other display situations too and I don't want this getting out of
>>>> hand.
>>>>
>>>> So I guess the question is, what's the best way to handle foreign key
>>>> values when dealing with VO's?  Include the related values in the VO, or
>>>> look them up each time?
>>>>
>>>> thanks,
>>>> d.
>>>>
>>>
>>>
>>>
>>> --
>>> Douglas Knudsen
>>> http://www.cubicleman.com
>>> this is my signature, like it?
>>>
>>
>>
>
>
> --
> Douglas Knudsen
> http://www.cubicleman.com
> this is my signature, like it?
>  
>

Reply via email to