您的位置:首页 > Web前端 > React

EA&UML日拱一卒-活动图::ReadSelfAction和ReadStructuralFeatureAction

2017-06-28 20:13 344 查看
上一篇文章中介绍了AcceptCallAction和ReplyAction两个动作。今天介绍另外两个动作:ReadSelfAction和ReadStructualFeatureAction。

首先介绍《GB/T 28174.2-2011 统一建模语言(UML) 第2部分:上层结构》中对这两个动作的描述。为了更容易理解,内容稍作修改。

读自身动作(ReadSelfAction)

ReadSelfAction 是一个动作,该动作读取动作的宿主对象。每个动作最终都是某个行为的一部分。行为按照一个类目的规范,以某种方式被附属到一个方法的实体上,当行为执行 时,该动作在类目的某一个指定的宿主对象的语境中起作用。ReadSelfAction取得这个宿主对象,将它放到输出引脚上。

读结构性特征动作(ReadStructuralFeatureAction)

ReadStructuralFeatureAction是一个获取结性特征值的动作。

它有一个输入引脚,用于指定输入对象。当输入对象被指定以后,该对象的结构性特性的值被放置在动作的输出引脚上。输出引脚的类型,有序性,多重性都应与结构性特征相适合。

示例

继续使用解一元二次方程的例子。首先看类图。



CalculateCoordinator 管理着Calculator和CalculatorPanel的实例,在calculateMain方法中首先调用CalculatorPanel的 getInput方法取得一元二次方程的a,b,c三个系数,然后调用Calculator的solveEquation方法解方程。今天首先索命取得 calculator对象和panel对象的方法。

准备工作

创建名称为CalculateCoordinator::calcuateMain的活动图

增加初始节点

增加AcceptCallAction并指定Trigger为CalcuateCoordinator.calculateMain。具体步骤请参照上一篇文章。





增加ReadSelfAction,ReadStructuralFeatureAction

从工具栏拖动Action图标到流程图,选择Action类型为ReadSelf

指定Action名称为coordinator

右键打开ReadSelfAction的上下菜单并选择【Structural Elements】,在出现的对话框中选择result引脚后调整位置

用控制流连接AcceptCallAction和ReadSelfAction

从工具栏拖动Action图标到流程图,选择Action类型为ReadStructuralFeature

指定Action名称为CalculateCoordinator

修改名称为result的输出引脚,指定名称为calculator,选择类型为Calculator

增加一个名称为panel,类型为CalculatorPanel的输出引脚。

右键打开ReadStructuralFeatureAction的上下菜单并选择【Structural Elements】,在出现的对话框中选择表示所有引脚后调整位置。

连接ReadSelfAction的输出引脚到ReadStructuralAction的输入引脚object.



解说

ReadSelfAction 是一个动作,该动作读取CalculateCoordinator::calculateMain的宿主对象。当行为执行时,该动作在 CalculateCoordinator类的某一个宿主对象的语境中起作用。ReadSelfAction取得这个宿主对象,将它放到输出引脚上。看懂 没?ReadSelfAction的功能相当于C++中的this指针!

本例中 ReadStructuralFeatureAction的输入引脚指定了ReadSelfAction取得的CalculateCoordinator 的一个实例,这时该对象的结构性特性的值calculator:Calculator和panel:CalculateorPanel被放置在该动作的输 出引脚上。输出引脚的类型,有序性,多重性都应与结构性特征相适合。还是以C++举例,ReadStructuralFeatureAction的功能其实就是输入对象,输出对象的数据成员!

下一篇文章介绍使用得到的calculator和panel实例调用其功能的的表达方法。

以上就是今天的文章,欢迎点赞并推荐给您的朋友!
阅读更多更新文章,请扫描下面二维码,关注公众号【面向对象思考】

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