有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

包含域和业务类的java UML类图

当我们要求绘制类图时,大多数示例识别系统的域类并显示它们之间的关系。但它也显示了这些域类中的业务方法。通常,域类在应用程序中充当DTO,应该只有字段和getter和setter知道

例如Doctor是一个域类。如果是这样,我们就不能使用方法createPrescription(),对吗? 该方法应该在其他使用域类Doctor的业务impl类中,对吗

检查下面的链接以获取绘制的类图

http://umldiagramtutorial.blogspot.com/2012/10/hospital-management-system-class-diagram.html

我要说的是Doctor域类不应该有这些方法,而是应该在DoctorMgtImpl类中。对吗


共 (2) 个答案

  1. # 1 楼答案

    我同意@vainolo,您的问题只与实施有关。我参与了一个项目,其实体与此非常相似。您可以看到我们使用的主要实体,我们没有将所有DTO、DAO放在顶级类图中。关于实现,我们采用的体系结构是:持久域模型类(ex-Doctor.java)、使用代码友好的CRUD操作处理这些持久类的DAO、使用DAO的无状态业务层(“管理器”)以及接口和实现、使用管理器的控制器。对所有这些类进行建模需要几天的时间。我们认为UML类图的目的不是表示代码。我建议这样做:)

  2. # 2 楼答案

    这更像是一个设计/面向对象的问题,而不是一个UML问题。如果你坚持SOLID原则,你的观点是正确的:他们赋予一个对象(医生)不同的责任。而且Doctor不是抽象的东西,而是非常具体的东西

    另一方面,该类模型为您提供了系统中哪些实体是活动的、它们的功能是什么以及它们如何交互的高级概述。然后可以使用不同的类(使用MVC、添加接口等)实现该图。UML图是实现的初始点,但是实现并不(而且大多数情况下)应该与图中所示完全一致(因为为什么要实现?只是从图中生成)