千家信息网

EA画UML活动图中如何实现Object actions

发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,这篇文章主要介绍了EA画UML活动图中如何实现Object actions,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。背景假设有个简
千家信息网最后更新 2025年12月03日EA画UML活动图中如何实现Object actions

这篇文章主要介绍了EA画UML活动图中如何实现Object actions,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

背景

假设有个简单的图形编辑软件,由一个Shape基类派生出两个子类,分别是Rectangle类和Elipse类。既然是编辑软件当然就需要设定属性,于是软件为两种图形分别准备了RectanglePropertyDlg和ElipsePropertyDlg,它们都继承自PropertyDlg,类图如下:

示例

今天的例子就是为图像创建属性对话框的处理,我们将这部分处理交给PropertyDialogCoordinator,通过调用PropertyDialogCoordinator::proparePropertyDialog方法来实现。

proparePropertyDialog的主要功能有:

  1. 如果输入图形于上次处理时不同,则删除生成过的对话框,再根据输入图形的类型生成对应的属性对话框。

  2. 如果输入图形于上次处理时相同,则直接返回上次生成过的对话框而不重新创建。

处理流程如下:

希望你没有被吓到,这里分几块来说明。

首先执行的是AcceptCallAction(左边凹陷的五边形),该动作执行以后一共有三路输出:

  1. 红色部分。首先执行ReadSelfAction取得PropertyDialogCoordinator的实例以后以该实例为参数两次调用ReadStructrualFeatureAction,分别取得保持当前图形的currentShape和保持当前对话框的currentDlg以供后续处理使用。

  2. 粉色部分是数据流,为后续处理提供本处理的参数:创建属性对话框的输入图形。

  3. 蓝色部分也是数据流,为最后的ReplyAction提供输入信息。


上述的准备工作做好之后,使用TestIdentityAction判断参数图形和currentShape是否指向同一个对象:如果结果为true,说明该图形已经生成过属性对话框,则将currentDlg作为返回值传递给ReplyAction,处理结束;反之进入后续处理。


后续处理首先调用DestroyObjectAction销毁currentDlg对象,调用ReadIsClassifiedObjectAction判断输入图形的种类,并调用CreateObjectAction生成与之匹配的属性对话框。

接下来,WriteStructuralFeatureAction得以执行两次,分别将创建的属性对话框和输入图形分别保存到currentDlg和currentShape中。

最后执行ReplyAction,处理结束。

感谢你能够认真阅读完这篇文章,希望小编分享的"EA画UML活动图中如何实现Object actions"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

处理 图形 对话框 对话 属性 输入 生成 篇文章 参数 软件 部分 图中 活动 实例 对象 数据 数据流 准备 不同 相同 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 数据库寻宝网课答案 在修真界建立服务器 小说 看法法律数据库怎么修改密码 蜜罐武汉互联网科技有限公司 winform监控云数据库变化 天津服务器托管云服务器 sci 数据库收录期刊 湖南专业软件开发价格服务标准 网络技术有限公司需要什么 软件开发和老师 滴滴网络安全审查对滴滴车主影响 为什么要指定网络安全法 引用各表单之间的数据库 以网络安全为主的作文高中 网络安全防线宣传视频 日纳昊诺网络技术有限公司 网络安全审查多长时间 纬视晶光电软件开发 网信办网络安全岗待遇 安信通网络技术有限公司 百度云数据库下载文件 公安网络安全保卫工作总结 数据库删除分区索引失效 网络安全的领域主要涉及 数据库创建柱形图报表 互苗网络安全观后感 求个我的世界服务器 网络安全知识竞赛的主持词 高技术产业数据库 河南c语言软件开发多少钱
0