您的位置:首页 > 其它

EA&UML日拱一卒-活动图:: 对象流

2017-06-08 20:25 253 查看
如果你足够细心,应该可以注意到上一篇文章最后的示例流程中,有一个地方与众不同,就是下图中红框中的部分。



这部分就是今天的内容,对象流。

语义

控制流(control flow)描述了两个活动节点之间执行令牌(执行焦点)的流动。还有另外一种情况,两个活动之间除了传送执行令牌,还需要传送数据或对象,这种情况称之为对象流(object flow)。

表示方法

对象流有两种表示方法,一种是将控制流一分为二,中间加上传送的对象或数据。



另外一种表示方法是在两个活动节点的输入输出之间连线。



需要补充说明的是,Action旁边的小正方形叫ActionPin,用来表示Action的输入/输出管脚。

画法

第一种表示方法

拖动下面的Object图标到适当位置



选择控制流图标,连接Action到对象,对象到下一个Action

      


第二种表示方法

选择下面的对象流图标,连接源Action和目的Action即可。



当然也可以选择Action上下文菜单-【New child element】-【Action pin】添加输入/输出管脚以后选择控制流图标并连接。

总结



最简单的问题,为什么需要对象流?

首先回头看看活动图入门一文最后的例子。



我们知道,写程序也好,读程序也好,除了关注程序流以外还应该关注数据流。UML活动图中的对象流正好可以用来表达数据流,而流程图就不行。

以下是我们补充了对象流以后的样子。



对象图明白地表明了各个处理之间的数据走向。

需要补充说明的是,只有所有的输入控制流/对象流上执行令牌都到达时,Action或者Activity才能执行。

现在可以回头看本文开始的流程图,可以做如下理解:

UI流程接受到复印流程传来的event以后,转送给decision node。

decision node根据event的种类,调用不同的处理并将event向该处理转移。·

被调用的处理根据event中保管的信息进行相应的处理。

以上就是今天的文章,如果它能给您带来些许收获,欢迎点赞并推荐给您的朋友!

阅读更多更新文章,请扫描下面二维码,关注公众号【面向对象思考】

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  EA UML 活动图 对象流