知识卡片
视图对象VO是消息契约的一种且需与值对象区分
内容
视图对象(view object,VO)其实是消息契约模型中的一种,往往遵循MVC模式为前端UI提供视图呈现所需数据,作者称之为”视图模型对象”;也可沿用DTO模式,因它主要用于后端控制器服务与前端UI之间的数据传递,故也属DTO范畴。它可能仅传视图需呈现的数据,也可能为满足前端可配置而由后端传递视图元素的位置、大小乃至颜色等样式信息;系统分层架构中边缘层承担BFF(Backend For Frontend)作用,定义在边缘层的控制器会操作视图对象。由于值对象(value object)简称也是VO,交流时一定要明确VO指代意义,避免概念混淆。发散:”VO”是DDD里最容易同名歧义的缩写之一,团队应在统一语言中先约定它指视图对象还是值对象。
参考来源
- 位置:《解构领域驱动设计》第19章 19.1.2(源文件:_epub-src/OEBPS/032.xhtml)
- 结论依据:原文将视图对象归为消息契约/DTO范畴,并强调VO与值对象的同名歧义。
- 原始内容:由于值对象(value object)的简称也是VO,因此在交流时,一定要明确VO的指代意义,避免概念的混淆。