对于实体Entity和值对象Value Object是领域驱动设计里面两个重要的模型对象
值对象,简单的来说按照业务相关性可以划分为三类:
bo(bussiness object) -- 业务对象,业务相关性最强,每个对象之间的逻辑关系体现为业务的复杂性和逻辑性
vo (value object)-- 数据对象,主要用于服务层,对bo进行拆分,使其适用代码逻辑的东西
po(persistent object)-- 持久化对象,和数据库表对应的对象,用于ORM。
po对象用的最多就不解释了。
根据实际业务来说,我的理解是:
bo中可以有多个vo。例:订单保存,前端传递过来的json可以转换后封装到bo中。然后将bo中的vo(数据传输对象,即DTO)转换成po(定义的持久化对象)对数据库进行相应的操作。
vo和po的区别,po对象不能直接返回给前端,因为po查询出来的数据,如type就是数字,需要转换成中文,比如有些字段需要拼接等...
参考地址:https://www.cnblogs.com/youxin/archive/2013/05/25/3099175.html