On Tue, Sep 16, 2008 at 10:21 PM, Niklas Uhrberg <[EMAIL PROTECTED]> wrote:
> Now, if we require that non-root entities inherit their identity from > their root (i.e. they have a unique identity only within the scope of > their aggregate) it follows that > they cannot be re-assigned. Correct? Well, on my car, I definitely have a "Left Front Wheel" (local identity), but I am not sure, nor care, whether that is the same actual wheel (global identity) today as it was yesterday. It may now even be on a different car as the "Spare Wheel". So, independent of "Is Wheel a RootEntity?" question (probably "yes"), is that "Local Identity" often makes sense. Does it make enough sense to support this directly? I think so, but not sure. And the follow-up would then be, is the "RootEntity" classification permanent (Class annotation) in an application, or is it a runtime behavior (Instance property)? > I simply assumed that non-root entities can have global identity, but > this may be an error on my part! I assume so too. In nature it is so (unless you get very philosophical), even if the observer doesn't care. > It's just so common to let almost everything have a global identity even > if it's not necessary. Yes, it is practical and delaying hard questions, often ignoring them altogether (Assign same wheel to many cars.) > I'm hard pressed to come up with an example of something that should > have global identity, be re-assignable and not being a root entity. > A common example of things that are parts of another thing is body parts. > But even body parts are candidates for re-assignment (transplantation), > what should we say about this case? I am starting to think that non-roots "loose" their global identity when assigned to an aggregate, might be the solution. That solves your body part problem. While inside your body, it has local identity, then upon removal, it has global identity, to regain a local identity in a different body. > My conclusion now is that only root have global identity.... And that only roots can be re-assigned?? In fact isn't this a lot more complex? I would like to think of myself as an Aggregate, but am I not also an intrinsic part of "Human Race"?? And doesn't our simple abstractions of Aggregates fall apart? Isn't it the Context that defines what are Aggregates or not, and probably even that an Aggregate in this context can have Parts that are Aggregates in other contexts, without those being Aggregates here? Phew!!!! Cheers Niclas _______________________________________________ qi4j-dev mailing list [email protected] http://lists.ops4j.org/mailman/listinfo/qi4j-dev

