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对应于经典的业务逻辑部分,而鲁棒图的实体对象更像'数据'的代名词--用实体对象建模的数据既可以是持久化的,也可以仅存在于内存中,并不像有的实践者理解的那样直接就等同于持久化对象。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .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语句:使用策略模式优化代码结构