我现在使用NetBeans作为我的首选IDE,并且它有一个UML建模的插件。在类图中,有一些被称为Boundary Class
、Control Class
和Entity Class
的模型元素。然而,我找不到一个好的定义,但我在这个网站上找到了关于UML类图的信息。
我现在使用NetBeans作为我的首选IDE,并且它有一个UML建模的插件。在类图中,有一些被称为Boundary Class
、Control Class
和Entity Class
的模型元素。然而,我找不到一个好的定义,但我在这个网站上找到了关于UML类图的信息。
Entity Boundary Control
Entity X X
Boundary X
Control X X X
这通常与OOAD和业务建模一起使用。Neil的定义是正确的,但它基本上与MVC完全相同,只是针对业务进行了抽象化。 "Good summary"做得很好,因此我不会在这里复制它,因为那不是我的工作,它更详细,但符合Neil的要点。
这些是分析中使用的类别刻板印象。
边界类是系统边界上的类 - 您或其他系统与之交互的类
实体类是您典型的业务实体,如“人”和“银行账户”
控制类实现一些业务逻辑或其他功能
Boundary Control Entity(边界控制实体)模式有两个版本:
- 旧的结构版本,描述在127页(其中实体作为数据模型元素,控制作为函数,边界作为应用程序接口)
- 新的对象模式
作为对象模式:
- 边界是“其他世界”的接口
- 控制是任何内部逻辑(例如DDD模式中的服务)
- 实体是对象的持久化服务(类似于DDD模式中的仓库)
所有类都拥有操作(请参见Fowler无血统领域模型反模式)
所有它们都是MVC模式中的模型组件。规则如下:
- 只有边界为“其他世界”提供服务
- 边界只能调用控制
- 控制可以调用任何人
- 实体不能调用任何人(!),只能被调用。
jz
实际上,健壮性图(或分析图,有时也称为)只是专门的类图。它们是UML的一部分,并且从一开始就存在(请参阅Jacobson的书《统一软件开发过程》-“三位好友”系列之一)。上述书籍在第183-185页有这三个类的良好定义。