UML中如何确定一个类的版型是边界类、控制类、实体类。

蜀子规   18:44:54

青润问个问题, UML 中, class type 分了 entity,boundary, control

蜀子规   18:45:06

这几个怎么区分?

青润   18:46:00

这个是 mvc 的划分方式定义的三种类的类型,你不一定非要如此划分。

青润   18:46:21

熟悉 mvc 就知道这三个类型是做什么的了。

蜀子规   18:48:09

呵呵, boundary 这个不好分

蜀子规   18:48:14

其他两个比较清楚

青润   18:48:57

boundary 就是界面相关的类,在 java 的 b/s 开发中,就是对应的 jsp page 。其他的软件类型自己对应即可。

青润   18:49:27

再明确点就是与用户操作直接关联的类。

青润   18:49:55

用户可以看到这个类的展示结果,也可以在这个类显示的界面上进行相关操作,那么这个类的类型就是 boundary 。

蜀子规   18:50:25

那比如说,我有一个 factory 类, 功能是 create 一个 interface 的实例,那这个算 controler

蜀子规   18:50:47

我的系统里面没有用户参与啊,这个怎么定?

青润   18:51:01

如果没有用户参与,那就没有 boundary 类。

青润   18:51:22

interface 不是 boundary 。这个有不少人容易搞混。

蜀子规   18:53:39

那就我这种情况,我的 factory 类算什么?就只能算是 controler 了

青润   18:58:02

看你的 factory 模式是应用在哪一层的。

如果是在 control 层应用的,那整个 factory 应该都是 control 的类型。

我认为四人帮的设计模式,其实都是编码级别的模式,是针对某一个类的实现进行细化的模式

蜀子规   18:59:04

这个东西还真复杂,概念不清楚,都搞混了

青润   19:00:03

其实,如果你是按照我的全程建模方法论一步一步推演过来的,那就很容易看清楚这些分类了。

青润   19:02:10

因为在分析模型开发的时候,就已经把类进行的划分。

然后在架构层设计模式应用之后,分析模型里面的分析类会变化成多个具体的设计类,这时候在设计类上面才会考虑应用各种具体的编码级设计模式。