Denver

>
>Assuming that Person contains a collection of Roles with a pointer to the applicable 
>PersonRole subclass object ID, why?
do you mean collection in Cache terms as in
property Roles as PersonRole [collection=list/array]
??

I think there is a place for both implementations

If Denver is doing a Medical Records system then it is absolutely
necessary to keep data separate- a Doctor may become a Patient at the
same hospital but his employment records must be kept separate from
treatment records, abstraction with separate extents is cool


If Peter is doing a HR  system for an individual client then  it is
necessary to be able to find all the roles that a person has been
involved in from time to time (project lead on proj A, head of tea
committee...), a single Extent makes this much easier


So we both have the same model but Peter sub classes and has a single
Extent, Denver abstracts for implementation on a case by case basis
keeping the data in separate extents


Peter

>
>In others words, the solution is for a Person to have pointers to all his Roles.
>[An alternative is for system maintenance to locate every PersonRole subclass and 
>search it for the Person.]
>
>Making PersonRole abstract means that the persistent Employee subclass data and the 
>persistent Patient subclass data are stored separately and are unlikely to be 
>accidentally queried since typically Role must be specified in order to find any data.


Reply via email to