[技术讨论]系统间调用与边界类的差别——被混淆的两个概念

来源:互联网 发布:windows dos 切换目录 编辑:程序博客网 时间:2024/06/07 05:18

这里谈到的是系统间的调用关系与分析模型中边界类的区别,另外还提到了在分析模型和设计模型中的一点区别。

 

2013-03-26      

福州-Thomas 男9:45:31

我想问问,在分析类中,如果某个控制类需要和第三方通信,那么第三方应该当作一个边界,那么在画图的时候是控制类发送消息到第三方的边界类去? 

北京青润10:57:12

这应该是接口类,不是边界类。

北京青润 10:57:46

接口类属于非UI类型的类,有人把它划作边界类来定位。

北京青润 10:58:12

但是一般情况下,边界类指的就是UI相关的用户操作界面类。

福州-Thomas 男 15:18:56

分析类不是只有3种类型吗

福州-Thomas 男 15:19:08

边界控制 实体, 哪里的接口类?

福州-Thomas 男 15:25:49

分析类时序图,在搞支付平台,我们对接支付宝等,别的子系统再接我们平台

北京青润 15:25:54

这个要看你的整体架构设计是在哪一层进行数据通信的。

北京青润 15:26:08

一般来说这样的数据通信不可能在界面层。

福州-Thomas 男 15:26:14

福州-Thomas 男 15:26:22

在 service层

北京青润 15:27:29

这个接口的提供属于外部连接的实现,也就是系统内的逻辑关系体现,要看你的整体的架构实现思想。

一般来说都应该是在控制层进行的实现。

福州-Thomas 男 15:27:30

界面有可能在子系统,我们是做个支付的黑匣子系统,只对外暴露出 SOA 接口,子系统调用我们的接口与支付宝对接

北京青润 15:27:38

也就是mvc中的c中进行实现。

北京青润 15:27:57

到了设计模型阶段才会根据情况分离出来接口类和具体的实现关系。

福州-Thomas 男 15:28:28

哦,我们的 C 在实现时也会是个 serivce,没有 web mvc框架

北京青润 15:28:38

两个子系统或者子模块之间应该是c-c的调用关系。

北京青润 15:28:57

那就不要在分析模型阶段谈设计模型的事情

北京青润 15:29:24

不管它将来是什么形式,每一个阶段都要做自己的事情,跨阶段做开发的结果往往是得不偿失的。

福州-Thomas 男 15:29:44

那你在画支付用例的分析类时序图时候,和支付宝对接 不用表示吗

北京青润 15:30:19

分析模型要有分析模型的形态,只需要标记出来这里连接一个支付系统即可。

福州-Thomas 男 15:31:34

那这个支付系统 是 另外的一个 UML元素,还是 边界类来表示? 按道理说  第三方支付系统相对我们的支付平台也就是个边界,我们发请求给它

北京青润 15:32:16

自己的团队内部统一,可以通过一个message to self,上面加一个标签标识即可。

福州-Thomas 男 15:33:36

那为什么不能把它当作一个边界类呢

北京青润 15:33:56

它本来就不是一个边界类,你为什么非要当作边界类呢?

福州-Thomas 男 15:34:35

相对于我们自己的系统来说它就是个边界啊,我们在这个边界之外向它发送消息

北京青润 15:34:46

那是系统之外。

北京青润 15:34:57

这是系统间关系调用。

福州-Thomas 男 15:35:11

哦,

原创粉丝点击