在UML类图中,什么是边界类、控制类和实体类?
我现在选择使用NetBeans作为IDE,它有一个用于UML建模的插件。在类图中,有称为在UML类图中,什么是边界类、控制类和实体类?,uml,class-diagram,Uml,Class Diagram,我现在选择使用NetBeans作为IDE,它有一个用于UML建模的插件。在类图中,有称为边界类、控制类和实体类的模型元素。然而,我找不到它们的好定义,但我在UML类图上找到了它们。这些是分析中使用的类原型 边界类是位于系统边界的类,即您或其他系统与之交互的类 实体类是典型的业务实体,如“个人”和“银行账户” 控制类实现一些业务逻辑或其他 通常与OOAD和业务建模一起使用/作为OOAD和业务建模的一部分。Neil的定义是正确的,但它基本上与MVC相同,只是针对业务进行了抽象。“很好的总结”做得很
边界类
、控制类
和实体类
的模型元素。然而,我找不到它们的好定义,但我在UML类图上找到了它们。这些是分析中使用的类原型
- 边界类是位于系统边界的类,即您或其他系统与之交互的类
- 实体类是典型的业务实体,如“个人”和“银行账户”
- 控制类实现一些业务逻辑或其他
实际上,健壮性图(或有时称为分析图)只是专门的类图。它们是UML的一部分,并且从一开始就存在(参见Jacobson的书《统一软件开发过程》-“三个朋友”系列丛书的一部分)。上述书在第183-185页对这三个类有了很好的定义。健壮性图是在用例之后和类图之前编写的。它们有助于确定用例步骤的角色。您可以使用它们来确保您的用例足够健壮,以表示您正在构建的系统的使用需求 它们涉及:
表示系统数据的对象,通常来自域模型 边界(视图/服务合作者)
与系统参与者接口的对象(例如用户或外部服务)。窗口、屏幕和菜单是与用户交互的边界示例 控制(控制器)
在边界和实体之间进行调解的对象。它们充当边界元素和实体元素之间的粘合剂,实现管理各种元素及其交互所需的逻辑。重要的是要理解,您可能会决定在设计中实现控制器,而不是对象——例如,许多控制器非常简单,可以实现为实体或边界类的方法 四条规则适用于他们的沟通:
Entity Boundary Control
Entity X X
Boundary X
Control X X X
边界控制实体模式有两个版本:
-旧结构,在127处描述(实体作为数据模型元素,控件作为函数,边界作为应用程序接口)
-新对象模式
作为对象模式:
-边界是“其他世界”的接口
-任何内部逻辑中的控件(如DDD模式中的服务)
-实体是对象的持久化服务(如DDD模式中的存储库)。
所有类别都有手术(见Fowler贫血领域模型反模式)
它们都是MVC模式中的模型组件。规则:
-只有边界为“另一个世界”提供服务
-Boundary只能调用Controll
-控件可以呼叫任何人
-实体不能呼叫任何人(!),只能呼叫。
jz从评论判断,这个答案并没有帮助人们理解“实体边界控制”和MVC之间的区别。其中之一是边界不是视图;它是系统的一个元素,管理与设计区域之外的元素的通信,无论该区域可能是什么。例如,系统中的PayPal REST API外观可能是一个边界元素。此外,子系统可能有自己的边界。将其与视图进行比较,视图始终是从任何角度来看的视图,并且始终面向用户。这个答案确实包括说同样的话:“边界:与系统参与者(例如,用户或外部服务)交互的对象”。无论如何,我的观点是它们是不同的:ECB不是MVC的“简化”。有一点,这些原型似乎没有在UML规范中定义……但MVC仅用于视图层。答案应该包含信息,而不仅仅是链接到它。很遗憾,链接已失效。@ted johnson有机会更新链接吗?谢谢更新了指向包含内容的类似网站的链接。