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

来源:互联网 发布:看本子专业软件 编辑:程序博客网 时间:2024/05/29 14:55

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



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


语义


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


表示方法


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



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



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


画法


第一种表示方法


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



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


      


第二种表示方法


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




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


总结


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


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




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


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



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


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


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


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

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

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


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

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





原创粉丝点击