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

问题描述 投票:72回答:5

我现在使用NetBeans作为我的选择IDE,它有一个用于UML建模的插件。在类图中,有一些模型元素称为Boundary ClassControl ClassEntity Class。但是,我找不到它们的好定义,但我确实在UML类图上找到了this site

uml class-diagram
5个回答
18
投票

经常与/作为OOAD和业务建模的一部分一起使用。 Neil的定义是正确的,但它与MVC基本相同,但只是为业务抽象。 “好的总结”很好,所以我不会在这里复制,因为它不是我的工作,更详细,但与Neil的要点内联。

Good summary - Conceito: Entity-Control-Boundary Pattern

OOAD


174
投票

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

他们涉及:

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

Model-View-Controller模式用于用户界面,而实体控制边界模式(ECB)用于系统。 ECB的以下方面可以比作MVC的抽象版本,如果这有用:

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

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

控件(控制器) 在边界和实体之间进行调解的对象。它们充当边界元素和实体元素之间的粘合剂,实现管理各种元素及其交互所需的逻辑。重要的是要了解您可能决定在设计中实现控制器而不是对象 - 许多控制器很简单,可以实现为实体或边界类的方法。

他们的沟通有四条规则:

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

沟通允许:

         Entity    Boundary   Control
Entity     X                     X
Boundary                         X
Control    X          X          X

15
投票

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

  • 边界类是系统边界的边界类 - 您或其他系统与之交互的类
  • 实体类类是典型的商业实体,如“人”和“银行账户”
  • 控制类实现一些业务逻辑或其他

4
投票

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


3
投票

边界控制实体模式有两个版本: - 旧结构,在127处描述(实体作为数据模型元素,控制作为函数,边界作为应用程序接口) - 新的对象模式 作为对象模式: - Boundary是“其他世界”的界面 - 控制任何内部逻辑(如DDD模式中的服务) - 实体是对象的持久性服务(如DDD模式中的存储库)。 所有课程都有操作(参见Fowler贫血领域模型反模式) 所有这些都是MVC模式中的Model组件。规则: - Only Boundary为“其他世界”提供服务 - Boundary只能调用Controll - 控制可以打电话给任何人 - 实体不能呼叫任何人(!),只能被呼叫。

LM

© www.soinside.com 2019 - 2024. All rights reserved.