在Java项目中,经常会使用到VO、DTO、DO、PO等概念,请查阅资料,说明四种对象的含义和使用场景(概念介绍和用途示例说明,使用在开发中的哪些地方)

    一次扫盲VO、DTO、DO和PO区别、用法、概念~ - 云+社区 - 腾讯云

    • VO(View Object):视图对象,用于展示层,作用是将某个指定页面(或组件)的所有数据封装起来
    • DTO(Data Transfer Object):数据传输对象,这个概念来源于J2EE的设计模式,原来的目的是为了EJB的分布式应用提供粗粒度的数据实体,以减少分布式调用的次数,从而提高分布式调用的性能和降低网络负载,但在这里,我泛指用于展示层与服务层之间的数据传输对象。
    • DO(Domain Object):领域对象,就是从现实世界中抽象出来的有形或无形的业务实体。
    • PO(Persistent Object):持久化对象,跟持久层(通常是关系型数据库)的数据结构形成一一对象的映射关系,如果持久层是关系型数据库,那么数据库表中的每个字段就对应PO中的一个属性

      VO:封装前端用户请求中的数据 DTO:将VO中的数据转化为服务层 DO:是服务层把DTO构造成DO,并调用DO对应的业务代码完成相关的方法 PO:是服务层相关业务处理DO之后生成的,依赖于持久层对它进行持久化、存储到数据库

    可以结合下图理解
    image.png