DO、BO、DTO、VO、AO 数据对象

337 阅读2分钟

DO/BO/DTO/VO/AO 是不同类型的数据对象,它们在软件架构中扮演不同的角色,用于在不同层次之间传递数据。以下是每个缩写的详细解释:

DO (Data Object)

  • 数据对象:通常与数据库表结构一一对应,通过 DAO 层向上传输数据源对象。
  • 例如,数据库中有一个用户表(user),那么对应的 DO 类可能被命名为 UserDO,它包含了用户表中的所有字段。

BO (Business Object)

  • 业务对象:封装业务逻辑的对象,由 Service 层输出,包含业务操作相关的数据。
  • BO 通常包含了多个 DO 的组合,或者对 DO 进行了业务逻辑上的封装,以便在 Service 层中使用。

DTO (Data Transfer Object)

  • 数据传输对象:用于在不同层之间传输数据的对象,特别是当需要在应用程序的层之间传递数据时。
  • DTO 通常用于 Service 层向外部接口或第三方平台传输数据,或者在 Web 层与 Service 层之间传递数据。

VO (View Object)

  • 视图对象:用于展示层的对象,通常是 Web 层向模板渲染引擎层传输的对象。
  • VO 通常包含了展示给用户看的数据,可能只包含部分 DO 的字段,且格式可能经过转换以适应展示需求。

AO (Application Object)

  • 应用对象:在 Web 层与 Service 层之间抽象的复用对象模型,极为贴近展示层,复用度不高。
  • AO 通常用于封装 Web 层接收的请求数据,可能包含对数据的初步校验和转换。

AO (Assembler Object)

  • 装配对象:通常指的是在不同数据对象之间进行数据装配的对象,比如将多个 DO 组合成一个 BO。

这些对象类型有助于在多层架构中实现数据的分离和封装,使得每一层都专注于处理特定的任务,从而提高代码的可维护性和可扩展性。