关于VO、DTO的一些事
Hireek 2/26/2022 DDD
先来看下阿里规范中【参考】分层领域模型规约:
- DO(Data Object):此对象与数据库表结构一一对应,通过 DAO 层向上传输数据源对象。
- DTO(Data Transfer Object):数据传输对象,Service 或 Manager 向外传输的对象。
- BO(Business Object):业务对象,可以由 Service 层输出的封装业务逻辑的对象。
- Query:数据查询对象,各层接收上层的查询请求。注意超过 2 个参数的查询封装,禁止使用 Map 类 来传输。
- VO(View Object):显示层对象,通常是 Web 向模板渲染引擎层传输的对象。
其中常见的莫过于DTO和VO。
# DTO
数据传输对象,无业务逻辑。有时候也充当VO。
# VO
争议貌似在这,不仅仅View Objetct,还有Value Object值对象。使用DTO可以区分开。
DO还有时候用作领域对象,
看公司的使用规范吧。使用统一的开发规范当然更好。