Uml 阶级关系

Uml 阶级关系,uml,class-diagram,Uml,Class Diagram,我有四门课: Employee-仅包含以下字段: 保存有关特定项目的信息 雇员 EmployeeGroup-仅包含字段 哪些描述了员工的工作类型 可以做到,每个员工都属于一个 员工组班级的 EmployeeDBase-包含用于 添加或获取员工和 数据库中的employeegroup EmployeeForm-使用EmployeeDbase方法 获取或添加员工或EmployeeGroup 字段到数据库。它也有它的 自己的显示方法 信息的形式 我认为员工和员工群体之间的关系是消极的,员工群体和员

我有四门课:

  • Employee-仅包含以下字段: 保存有关特定项目的信息 雇员

  • EmployeeGroup-仅包含字段 哪些描述了员工的工作类型 可以做到,每个员工都属于一个 员工组班级的

  • EmployeeDBase-包含用于 添加或获取员工和 数据库中的employeegroup

  • EmployeeForm-使用EmployeeDbase方法 获取或添加员工或EmployeeGroup 字段到数据库。它也有它的 自己的显示方法 信息的形式


我认为员工和员工群体之间的关系是消极的,员工群体和员工群体之间的关系是基础依赖性的。Employee和EmployeeForm、Employee和EmployeedBase是否还有其他关系(因为两者都在处理Employee对象)。--

你的问题听起来有点。。。理论的我几乎喜欢家庭作业


值得一提的是,我认为您不应该混淆Employee和EmployeeGroup类,它们是真实世界实体的清晰表示,EmployeeBase和EmployeeForm是应用程序内部的软件人工制品。

通常同意@Benjol。这里有两种不同的关系。员工-员工组是一种“域”关系,即反映问题空间的规则和特征。因此,最适合将其建模为标准关联-多:1如果员工只能是一个组的成员,则多:多否则。老实说,我不会因为聚合而挂断电话。基数更重要

其他关系是架构关系,而不是域关系。我将单独记录这一点——最好是通过引用一个或多个体系结构模式。请看下面的示例

最后,有两项意见:

  • 从您的描述来看,该设计似乎将Employee&EmployeeGroup作为简单的值对象,并在EmployeeForm和EmployeeDBase中包含所有业务逻辑。我通常怀疑将域逻辑移出域类。有时这是有道理的——通常是对于真正简单/快速的黑客系统。如果域逻辑更好地封装在域类中,而不是绑定在ui或db层中,则任何具有重要域逻辑和/或预期具有非平凡寿命的内容通常更易于维护。(参见Eric Evans的“领域驱动设计”)
  • “EmployeeGroup”并不是信息量最大的名称。根据您的描述,最好将其命名为“EmployeeRole”或类似名称。看起来这是书中定义的,所以你不能改变

  • 这是书本上的练习。因此,例如Employee和EmployeeForm或EmployeeBase之间没有关系?@oleg,对不起,我不得不承认我在这方面的无知。