在UML类图中,什么是边界类,控制类和实体类?
我现在使用NetBeans作为我select的IDE,它有一个用于UMLbuild模的插件。 在类图中,有一些称为Boundary Class
, Control Class
和Entity Class
模型元素。 但是,我找不到它们的好定义,但是我确实在UML类图中find了这个网站 。
通常用于/作为OOAD和业务build模的一部分。 Neil的定义是正确的,但是与MVC基本相同,只是为业务而抽象。 “良好总结”做得很好,所以我不会在这里复制,因为这不是我的工作,更详细,但与Neil的要点一致。
好的总结 – Conceito:Entity-Control-Boundary Pattern
OOAD
健壮性图是在用例和类图之前编写的。 它们有助于确定用例步骤的angular色。 您可以使用它们来确保您的用例足够健壮,以表示您正在构build的系统的使用要求。
它们涉及:
- 演员
- 用例
- 实体
- 边界
- 控制
模型 – 视图 – 控制器模式用于用户界面,而实体 – 控制 – 边界模式(ECB)用于系统。 ECB的以下几个方面可以被比作MVC的抽象版本,如果有帮助的话:
实体 (模型)
表示系统数据的对象,通常来自域模型。
界限 (查看/服务合作者)
与系统参与者(例如用户或外部服务 )交互的对象。 Windows,屏幕和菜单是与用户交互的边界示例。
控制器 (控制器)
在边界和实体之间进行调解的对象。 这些作为边界元素和实体元素之间的粘合剂,实现pipe理各种元素及其相互作用所需的逻辑。 理解这一点非常重要,您可以决定在devise中将控制器实现为对象之外的其他控件 – 许多控制器足够简单,可以作为实体或边界类的方法实现。
四条规则适用于他们的沟通:
- 演员只能和边界物体说话。
- 边界物体只能与控制器和演员交谈。
- 实体对象只能与控制器通信。
- 控制器可以与边界对象和实体对象进行交谈,也可以与其他控制器交谈,但不与演员交谈
允许通信:
Entity Boundary Control Entity XX Boundary X Control XXX
这些是在分析中使用的类定型。
-
边界类是系统边界处的边界类 – 您或其他系统与之交互的类
-
实体类是您典型的商业实体,如“人”和“银行账户”
-
控制类实现一些业务逻辑或其他
实际上,鲁棒性图(或有时称为分析图)只是专门的类图。 它们是UML的一部分,并且从一开始就是这样的(参见Jacobson的书“统一软件开发过程 – ”“三友”系列书籍的一部分)。 上述书对第183-185页的这三个类有一个很好的定义。
边界控制实体模式有两个版本:
– 旧的结构,在127处描述(实体为数据模型元素,控制为函数,边界为应用程序接口)
– 新的对象模式
作为对象模式:
– 边界是“其他世界”的界面
– 控制任何内部逻辑(如DDD模式的服务)
– 实体是对象的持久化serwis(就像DDD模式中的存储库)。
所有类都有操作(参见福勒贫血域模型反模式)
所有这些都是MVC模式中的Model组件。 规则:
– 只有边界为“其他世界”提供服务
– 边界只能调用Controll
– 控制可以打电话给任何人
– 实体不能调用任何人(!),只能被调用。
JZ