Java中的模型

领域模型命名规约

  • 数据对象:xxxDO,xxx即为数据表名。
  • 数据传输对象:xxxDTO,xxx为业务领域相关的名称。
  • 展示对象:xxxVO,xxx一般为网页名称。
  • POJO是DO/DTO/BO/VO的统称,禁止命名成xxxPOJO。

分层领域模型

PO

Persistant Object 持久对象

与数据库SQL结果O/R映射的Java类对象,可以是一个表,也可以是多个表。

DO

Data Objec 数据对象

与数据库表字段一一对应的Java实体类,一般服务于DAO层,是MyBatis的映射实体类(Entity)。

BO

Business Object 业务对象

将一个业务抽象成一个具体的模型,其中可以包含多个PO,DO等。

AO

Application Object 应用对象

在Web层与Service层之间抽象的复用对象模型。

VO

View Object 展示对象

将前端页面或者某项数据抽象成一个对象模型。

DTO

Data Transfer Object 数据传输对象

层与层之间,请求与响应之间传递的数据模型。

参考文献

Java中 VO、 PO、DO、DTO、 BO、 QO、DAO、POJO的概念
阿里巴巴Java开发手册中的DO、DTO、BO、AO、VO、POJO定义
阿里巴巴Java开发手册(详尽版)

今日诗词

作者信息