在UML类图中,什么是边界类,控制类和实体类?

我现在使用NetBeans作为我select的IDE,它有一个用于UMLbuild模的插件。 在类图中,有一些称为Boundary ClassControl ClassEntity Class模型元素。 但是,我找不到它们的好定义,但是我确实在UML类图中find了这个网站 。

通常用于/作为OOAD和业务build模的一部分。 Neil的定义是正确的,但是与MVC基本相同,只是为业务而抽象。 “良好总结”做得很好,所以我不会在这里复制,因为这不是我的工作,更详细,但与Neil的要点一致。

好的总结 – Conceito:Entity-Control-Boundary Pattern

OOAD

健壮性图是在用例和类图之前编写的。 它们有助于确定用例步骤的angular色。 您可以使用它们来确保您的用例足够健壮,以表示您正在构build的系统的使用要求。

它们涉及:

  1. 演员
  2. 用例
  3. 实体
  4. 边界
  5. 控制

模型 – 视图 – 控制器模式用于用户界面,而实体 – 控制 – 边界模式(ECB)用于系统。 ECB的以下几个方面可以被比作MVC的抽象版本,如果有帮助的话:

UML符号

实体 (模型)
表示系统数据的对象,通常来自域模型。

界限 (查看/服务合作者)
与系统参与者(例如用户外部服务 )交互的对象。 Windows,屏幕和菜单是与用户交互的边界示例。

控制器 (控制器)
在边界和实体之间进行调解的对象。 这些作为边界元素和实体元素之间的粘合剂,实现pipe理各种元素及其相互作用所需的逻辑。 理解这一点非常重要,您可以决定在devise中将控制器实现为对象之外的其他控件 – 许多控制器足够简单,可以作为实体或边界类的方法实现。

四条规则适用于他们的沟通:

  1. 演员只能和边界物体说话。
  2. 边界物体只能与控制器和演员交谈。
  3. 实体对象只能与控制器通信。
  4. 控制器可以与边界对象和实体对象进行交谈,也可以与其他控制器交谈,但不与演员交谈

允许通信:

  Entity Boundary Control Entity XX Boundary X Control XXX 

这些是在分析中使用的类定型。

  • 边界类是系统边界处的边界类 – 您或其他系统与之交互的类

  • 实体类是您典型的商业实体,如“人”和“银行账户”

  • 控制类实现一些业务逻辑或其他

实际上,鲁棒性图(或有时称为分析图)只是专门的类图。 它们是UML的一部分,并且从一开始就是这样的(参见Jacobson的书“统一软件开发过程 – ”“三友”系列书籍的一部分)。 上述书对第183-185页的这三个类有一个很好的定义。

边界控制实体模式有两个版本:
– 旧的结构,在127处描述(实体为数据模型元素,控制为函数,边界为应用程序接口)
– 新的对象模式

作为对象模式:
– 边界是“其他世界”的界面
– 控制任何内部逻辑(如DDD模式的服务)
– 实体是对象的持久化serwis(就像DDD模式中的存储库)。
所有类都有操作(参见福勒贫血域模型反模式)
所有这些都是MVC模式中的Model组件。 规则:
– 只有边界为“其他世界”提供服务
– 边界只能调用Controll
– 控制可以打电话给任何人
– 实体不能调用任何人(!),只能被调用。

JZ