客户与人/组织之间的聚合关系

时间:2010-10-28 07:07:41

标签: uml domain-model

我有一个客户端对象,其中包含 Person 对象或 Organization 对象。这些对象或组织对象可能与其他对象无关,而与客户端对象无关。在这种情况下,我应该使用Client -> PersonClient -> Organization之间的通用聚合关联,其中客户端对象是整体。

另请注意以下情况:

    在某些情况下,
  1. 可能是正常的; 代表客户付款(* 组织 *)
  2. 可能是客户,它从我们这里购买了产品
  3. 可能是供应商

2 个答案:

答案 0 :(得分:1)

不要忘记两个关联之间的xor约束(因为客户端无法连接到个人和组织)

答案 1 :(得分:1)

虽然您确实没有提供足够的信息,但听起来您正在描述一个典型的Role Class Model

我怀疑您的客户并非真的拥有某个人或组织,而是 客户,或者IOW,一个人或者组织可以在某种关系中扮演客户的角色。

有多种方法可以对此进行建模,而且没有一种正确的解决方案。您可能会发现此article有用