随笔 - 142  文章 - 2  评论 - 4  阅读 - 57303

UML交互图——鲁棒图的三元素:抽象对象,实体对象和控制对象

更多介绍请见:http://www.uml.org.cn/oobject/201012235.asp

鲁棒图简介

ADMEMS方法推荐以鲁棒图来辅助初步设计。那么,什么是鲁棒图呢?

8.2.1  鲁棒图的3种元素

鲁棒图包含3种元素(如图8-2所示),它们分别是边界对象、控制对象、实体对象:

边界对象对模拟外部环境和未来系统之间的交互进行建模。边界对象负责接收外部输入,处理内部内容的解释,并表达或传递相应的结果。

控制对象对行为进行封装,描述用例中事件流的控制行为。

实体对象对信息进行描述,它往往来自领域概念,和领域模型中的对象有良好的对应关系。

 

海象不是象,如此命名是因为'类比思维'在人的头脑中是根深蒂固的。关于鲁棒图3元素的'类比',自然是MVC。在图8-3中,我们做了更全面地对比,我们发现鲁棒图3元素和MVC还是有着不小的差异的。

 

由图可以看出,鲁棒图3元素和MVC的主要不同在于:

View仅涵盖了'用户界面'元素的抽象,而鲁棒图的边界对象全面涵盖了三种交互,即本系统和外部'人'的交互、本系统和外部'系统'的交互、本系统和外部'设备'的交互。

数据访问逻辑是Controller吗?不是。控制对象广泛涵盖了应用逻辑、业务逻辑、数据访问逻辑的抽象,而MVC的Controller主要对应于应用逻辑。

MVC的Model对应于经典的业务逻辑部分,而鲁棒图的实体对象更像'数据'的代名词--用实体对象建模的数据既可以是持久化的,也可以仅存在于内存中,并不像有的实践者理解的那样直接就等同于持久化对象。

posted on   刘正权的博客  阅读(217)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示