什么是DTO、VO、BO、PO、DO、POJO

本文详细解释了DTO(数据传输对象)、VO(视图对象)、BO(业务对象)、PO(持久层对象)和DO(领域实体对象)在软件开发中的含义及应用场景。它们在分层架构中起到数据转换和业务逻辑处理的作用,提高代码的可维护性和可读性。

什么是DTO、VO、BO、PO、DO、POJO

  1. 含义

    POJO定义的是无规则简单的对象,日常代码分层中POJO会被分为VO、BO、PO、DTO都是典型的POJO,但是BO、DAO一般不是POJO,通过各层POJO的使用,可以提高代码的维护性和可读性。

  2. 五大O的主要使用场景

    • VO(表示层对象)

      前端展示的数据,接口数据返回给前端时需要转为VO,在接口层服务中,将DTO转为VO之后返回给前台

    • BO(业务层对象)

      主要在业务内部使用的业务对象,在服务层服务中,由DTO转为BO然后进行业务处理后,转为DTO返回到接口层

      理解:BO对象可以包含一个或者多个其他的对象,例如一个教室里面有桌子、凳子、黑板、垃圾桶等,我们可以将教室看作一个BO,剩下的都看作为一个个PO,这样就可以建立一个对应教室的BO对象处理教室,BO里面就包含了这些PO,在进行业务逻辑处理时,就可以针对BO去处理

    • PO(持久层对象)

      负责存储数据库总提取的数据,不包含对数据的操作;在数据库层中,获取数据库数据存储到PO中,然后转为DTO返回到服务层中

    • DO(领域实体对象)

      两个版本,等同于上面的BO和PO,从现实世界中抽离出来的业务实体

    • DTO(数据传输对象)
      用于表示一个数据传输对象,通常用于不同服务或服务不同分层之间的数据传输

  3. 举例

    • Controller层

      常见的为将DTO转为VO,将Service层传递过来的DTO转为VO表示数据然后返回给前端

    • Service、Manager层

      常见的转换为DO转BO、BO转DTO,对数据进行处理之后返回DTO对象

    • DAO层

      DTO转为换DO,实现与数据库的交互

    • 领域模型定义

      • Entity 表结构实体,对应DO
      • BO业务实体
      • VO视图实体,DTO可共用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值