两张图的区别
difference between two diagrams
这是我要解答的练习题。
客户向供应商下订单。订单是针对不同数量的不同种类的零件;出于本练习的目的,可以忽略不同种类的盘子之间的区别,一个订单由多个订单行组成;每行指定供应商目录中的特定零件,并说明要订购的数量。作为对订单的响应,供应商组成了一个包含所有订购部件的交货。在 class 图中描述这种情况,并讨论在你的图中可能使用聚合。
第一个图表是建议的答案,第二个图表是我自己的答案。
- 使用
Orderline
作为关联是否合适class?
- 用
Order
和Delivery
class的关联来凑个外卖不就够了吗?由于 Order
class 与 Part
class 相关联,因此可以检索应交付哪个零件的信息。在建议的答案中,class Part
指的是在目录中找到的 Part
描述。构成交付的实际物理部分由 class Item
表示。
- 使用不同的 classes 有什么好处?
首先请记住,几乎没有一种正确的“构建模型的方法”。
OrderLine 可以建模为 Order 和 Part 之间的关联 class,因为这正是关联 class 背后的想法。另一方面,由于描述明确声明 Order 由 OrderLines 组成,您也可以按照这种方式将其建模为单独的 class。然而,在这种情况下,它应该是一个复合聚合而不仅仅是一个关联。
至于 Item 和 Part - Part 是一个 Catalog 位置(同样它应该是一个组合而不是简单的关联),而 Item 代表实际的可交付对象。但是,在某些情况下,您不会像那样对其进行建模,但您仍然必须在交付中使用某种 "carrier"。我在 "original" 图上遗漏的是 OrderLine 和 Item 之间的关系(关联),以显示通过交付哪个 Item 来准确地实现哪个 OrderLine。这允许验证是否涵盖了所有 OrderLines。
这是我要解答的练习题。 客户向供应商下订单。订单是针对不同数量的不同种类的零件;出于本练习的目的,可以忽略不同种类的盘子之间的区别,一个订单由多个订单行组成;每行指定供应商目录中的特定零件,并说明要订购的数量。作为对订单的响应,供应商组成了一个包含所有订购部件的交货。在 class 图中描述这种情况,并讨论在你的图中可能使用聚合。
第一个图表是建议的答案,第二个图表是我自己的答案。
- 使用
Orderline
作为关联是否合适class? - 用
Order
和Delivery
class的关联来凑个外卖不就够了吗?由于Order
class 与Part
class 相关联,因此可以检索应交付哪个零件的信息。在建议的答案中,classPart
指的是在目录中找到的Part
描述。构成交付的实际物理部分由 classItem
表示。 - 使用不同的 classes 有什么好处?
首先请记住,几乎没有一种正确的“构建模型的方法”。 OrderLine 可以建模为 Order 和 Part 之间的关联 class,因为这正是关联 class 背后的想法。另一方面,由于描述明确声明 Order 由 OrderLines 组成,您也可以按照这种方式将其建模为单独的 class。然而,在这种情况下,它应该是一个复合聚合而不仅仅是一个关联。 至于 Item 和 Part - Part 是一个 Catalog 位置(同样它应该是一个组合而不是简单的关联),而 Item 代表实际的可交付对象。但是,在某些情况下,您不会像那样对其进行建模,但您仍然必须在交付中使用某种 "carrier"。我在 "original" 图上遗漏的是 OrderLine 和 Item 之间的关系(关联),以显示通过交付哪个 Item 来准确地实现哪个 OrderLine。这允许验证是否涵盖了所有 OrderLines。