首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >UML图:在线Webstore类图和关系

UML图:在线Webstore类图和关系
EN

Stack Overflow用户
提问于 2016-11-11 05:53:48
回答 2查看 204关注 0票数 3

我在一家网上商店工作。这是一个简单的web商店,我必须为这个类创建领域UML图,并显示多样性。我对我想出的多样性感到有点困惑。我不知道如何区分组合、聚合和关联。下面是我想出的图表。谁能告诉我我是不是在正确的轨道上?

http://i.imgur.com/8FwhsaI.jpg

EN

回答 2

Stack Overflow用户

发布于 2016-11-11 06:40:05

不算太坏。除非您需要在数据库设计中处理内存管理或外键约束,否则您不应该为聚合而烦恼。别管他们就行了。

您应该进行的一个重要更改是关联的角色名称。例如,代替声明为属性的shippingAddress:Address,在Address上使用一个接近关联的角色shippingAddress,该角色来自User (对于其他角色,依此类推)。

由于Address在某种程度上是一个常见的地方,并且到处都在使用,所以您可以将这个类从这个图中去掉,并创建一个单独的图,其中Address在中间,所有其他使用它的人都在它周围。

票数 3
EN

Stack Overflow用户

发布于 2016-12-07 14:56:00

我同意Thomas的观点,但我会展示其他观点,以便您可以调整您的图表。请不要把它看作是破坏性的东西。我只相信这些小贴士可以帮助你。

  • 显示每个连接的多重性
  • 不使用getter和setter *
  • 不使用ID的属性*
  • Order与用户进行合成(没有意义与其相关的用户有订单,OrderLine使用订单进行合成;

< OrderLine >H19产品使用getter和setter进行聚合并查看使用getter进行合成与产品进行聚合。(取决于您的系统,它可以是组合,但更有可能是aggregation).

记住(部分)用(整体)创造东西

如果您与类有连接,则不需要在类中创建属性,除非您有一个类的列表(例如,.1: Payment

  • CreditPayment CreditPayment中的属性);
  • 您可以按顺序创建产品列表。在此之后,您可以删除Orderline类。

*如果您不会从模型生成代码。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40537659

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档