我想在JEE中启动一个项目,我需要确认我的类图。我需要知道所用的方法是否正确,我所用的作文是否正确。
这是我的类图:
该项目是关于一个在线销售商店,它希望建立一个管理工具,以销售产品,并管理其产品。该工具必须包括以下功能:
功能规格
必须对应用程序采取行动,用用户ID和密码连接到应用程序。为了便于使用,并为了避免以后处理不当,以下是解决办法:
用户简介:
经理简介:
- Add / Edit / Delete Products
- Add / Edit / Delete category
主管简介:
我想知道你是否对我的设计有意见。此外,我对几种方法也很困惑,例如添加、修改和删除产品。我应该把它们放进经理或产品班吗?我写的作文是正确的还是应该删除?
发布于 2019-11-09 16:50:37
快速查看图表和建议
首先,关于类命名的一些次要注释:Ordered
应该被称为Order
。
作文在Article
和Order
之间是错误的(不是从正式的角度来看,而是从它所传达的意义来看)。使用一个普通的一对多的协会:它将更好地反映两个类之间关系的真实性质。请考虑到新的商品可能还没有订购,所以应该是1..*
。
+belongs
和+do
处于关联的中间,在语法上是不正确的。你应该用一个普通的三角形代替(或者根本不使用)。三角形应朝向Person do |> Order
和Article belongs to |> Category
的读取方向。
这些方法似乎没问题。您不需要添加后缀。
如何管理对象(创建/更新/删除)?
更高级的关注点不在于图表,而在于如何组织持久化(即数据库存储):
但这是一个更广泛的建筑问题。如果它只是用于JEE的第一个实验项目,那么您可以很好地使用活动记录。设置起来更简单。但是,在这种情况下,一定要消除Person
上添加/更新/删除的歧义,因为它目前可能给人的印象是,任何人都可以添加任何人。
模型的改进
最后一点,也不是关系图本身,是关于域的。您的模型认为Order
与单个Article
有关。
然而,在现实中,订单一般只有一篇或几篇文章:如果这里也是这样的话,您的Order
将成为OrderItem
,而真正的Order
将插入到Person
和OrderItem
之间。然后,您可以使Order
和OrderItem
之间的关系成为一个组合(即:OrderItem
由Order
拥有,Order
负责创建它的项,而项目没有相关的顺序就没有意义)。
https://stackoverflow.com/questions/58778707
复制相似问题