我只知道Java里有这些概念,其他语言应该也有类似的说法:
DO (Data Object):数据对象,通常指的是领域对象(Domain Object),它直接映射业务领域的实体,包含了业务逻辑和数据,是对现实世界实体的一种抽象。DO 与数据库中的表相对应,代表数据库中存储的数据结构,用于描述业务实体的数据结构和行为。
SDO (Service Data Object):服务数据对象,是一个较为少见的术语,但在某些架构中可能指代用于在服务间传递数据的对象。SDO设计用于支持复杂的数据图形(包括关联数据和数据的多态性),提供一种灵活的方式来表示和操作数据,特别是在面向服务的架构(SOA)中。
DTO (Data Transfer Object):数据传输对象,主要用于网络间或系统间的数据传输。DTO 通常包含一组用于展示或传输的数据属性,它简化了数据结构,去除了一些业务逻辑,使得数据可以更容易地在不同层之间传输,如从服务层传递到表现层,或跨微服务通信。
VO (View Object):视图对象,专为展示层设计,用来封装展示给用户的数据。VO 直接与用户界面的元素关联,关注的是如何把数据以合适的格式展示给用户,可能包括一些用于界面显示的特定处理或格式化数据。
DO,DTO和VO的使用
DO:对应数据库表结构
VO:一般用于前端展示使用
DTO:用于数据传递。(接口入参和接口返回值都可以)
SDO :源数据对象,也是用来数据库操作时
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。