VO:
View Obiect:视图对象,用于展示层,按照前端需求把某个指定页面的展示数据封装起来
比如:service 层查询到的数据含有不宜展示的字段,
BeanUtils.copyProperties(byId, userVo);
传递给VO 用来展示。
DTO:
Data Transfer Obiect:用于展示层与服务层之间的数据传输对象。
比如 DTO 用来接受用户传输过来数据,当需要保存或者修改时 传递给Entity 用来持久化数据
BO:
Business Object:业务对象,把业务逻辑封装为一个对象。
PO:
Persistent Object:持久化对象,和持久层(如数据库)形成对应的映射关系
DO:
Domain Object:领域对象,从现实世界中抽象出来的有形或无形的业务实体。
注意:
DTO和BO在不复杂的场景下,可能不做区分。
PO和DO十分类似,是从现实世界中抽象出来的业务实体,通常这个对象就是一个表的结构。entity 的,意思就是实体的意思,所以也是最常用到的,entity 包中的类是必须和数据库中的表相对应的