一 DO
DO即Data Object:与数据库表结构一一对应,通过DAO层向上传输数据源对象。
二 DTO
DTO即Data Transfer Object:数据传输对象,Service层向外传输的对象,可以简单的理解为前端调用服务应用时传入的对象参数。
DTO存在两种形式:
- 在后端应用中,它以请求入参的形式存在,也就是在controller中定义的参数。
- 在前端应用中,它作为JS中的对象可以简单的理解为JSON(JavaScript Object Notation, JS 对象简谱),即ajax请求中的数据体。
三 BO
BO即Business Object:业务对象,由Service层输出的封装业务逻辑的对象,它可以包括很多类。
四 AO
AO即Application Object:应用对象,在web层与Service层之间抽象的复用对象模型。
五 VO
VO即View Object:显示层对象,通常是web向模板渲染引擎层传输的对象,可以简单的理解应用前端展示需要用到的数据,不管展示方式为网页展示还是客户端展示,我们浏览网页或者app时看到的数据对象。
VO只是展示用户必要的数据,一些不需要的数据只是存在于表结构之中,这样可以防止表结构外泄。
六 PO
PO即Persistant Object:持久化对象,可以简单的理解为表结构的对应,数据表中的一条记录就是一个PO对象,通常PO对象中一般只有getter,setter或者toString方法。
对于PO类来说,它的数量一般相对固定,不会超过数据库表的数量,可以简单的看作为常用的Entity。
七 POJO
POJO即Plain Ordinary Java Object:一般专门指有setter/getter/toString的简单类,它包括DO/DTO/BO/VO等。
参考资料:
https://segmentfault.com/a/1190000038198085
https://blog.csdn.net/uestcyms/article/details/80244407
阿里巴巴编程手册