我在一家网上商店工作。这是一个简单的web商店,我必须为这个类创建领域UML图,并显示多样性。我对我想出的多样性感到有点困惑。我不知道如何区分组合、聚合和关联。下面是我想出的图表。谁能告诉我我是不是在正确的轨道上?
发布于 2016-11-11 06:40:05
不算太坏。除非您需要在数据库设计中处理内存管理或外键约束,否则您不应该为聚合而烦恼。别管他们就行了。
您应该进行的一个重要更改是关联的角色名称。例如,代替声明为属性的shippingAddress:Address
,在Address
上使用一个接近关联的角色shippingAddress
,该角色来自User
(对于其他角色,依此类推)。
由于Address
在某种程度上是一个常见的地方,并且到处都在使用,所以您可以将这个类从这个图中去掉,并创建一个单独的图,其中Address
在中间,所有其他使用它的人都在它周围。
发布于 2016-12-07 14:56:00
我同意Thomas的观点,但我会展示其他观点,以便您可以调整您的图表。请不要把它看作是破坏性的东西。我只相信这些小贴士可以帮助你。
< OrderLine >H19产品使用getter和setter进行聚合并查看使用getter进行合成与产品进行聚合。(取决于您的系统,它可以是组合,但更有可能是aggregation).
记住(部分)用(整体)创造东西
如果您与类有连接,则不需要在类中创建属性,除非您有一个类的列表(例如,.1: Payment
*如果您不会从模型生成代码。
https://stackoverflow.com/questions/40537659
复制相似问题