Itai, I think this is a brilliant idea! I'm sure there are sixteen ways to implement each of these... but having one concrete way would be a big help to a novice.... -steve
Object relationship | (Pattern) | Implementation ---------------------------------------------------------------------------------------- 1 1 | Add prop to A: b_id A --------- B | In A call Bs (Specialist of B): my_b = Bs.getItem(b_id) ---------------------------------------------------------------------------------------- n 1 | Add prop to B: a_id A --------- B | Add method to Bs (Specialist of B): getBsForA(a_id) | In A call Bs: my_b_list = Bs.getBsForA(a_id) ---------------------------------------------------------------------------------------- n n | ? A --------- B | ---------------------------------------------------------------------------------------- n [XOR A] 1 | Add Specialist Xs implementing role of A and B A ------------- | Add prop to C: x_id n [XOR A] 1 C | In A, B call Xs: my_x = Xs.getItem(x_id) B -------------- | (Participant-Transaction)| (A and B - Participants, C - Transaction) ---------------------------------------------------------------------------------------- [XOR A] 1 n | Add prop to B, C: a_id ------------ B | In B, C call As (Specialist of A): my_a = As.getItem(a_id) A [XOR A] 1 n | ------------ C | (can't do reverse connection?) ----------------------------------------------------------------------------------------
Does anyone think this would be useful? Can we get the experts to expand/correct/verify this? Obviously more relationship types need to be added, and also some extra information is needed (such as who's responsible to set the id attributes and how, when and how reverse connections are done, etc.).
Itai -- Itai Tavor "Je sautille, donc je suis." C3Works itai@c3works.com - Kermit the Frog
"If you haven't got your health, you haven't got anything"