博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
作为架构师,你必需要搞清楚的概念:POJO、PO、DTO、DAO、BO、VO
阅读量:2002 次
发布时间:2019-04-28

本文共 766 字,大约阅读时间需要 2 分钟。

转载自 

POJO、PO、DTO、DAO、BO、VO这些概念作为Java开发来说应该全部或者部分遇到过,作为架构师的你想必更是清楚这些概念在不同场景的应用。


下面我逐一介绍一下,想必你会更深刻。


POJO


全称为:Plain Ordinary Java Object,即简单普通的java对象。一般用在数据层映射到数据库表的类,类的属性与表字段一一对应。


PO


全称为:Persistant Object,即持久化对象。可以理解为数据库中的一条数据即一个BO对象,也可以理解为POJO经过持久化后的对象。


DTO


全称为:Data Transfer Object,即数据传输对象。一般用于向数据层外围提供仅需的数据,如查询一个表有50个字段,界面或服务只需要用到其中的某些字段,DTO就包装出去的对象。可用于隐藏数据层字段定义,也可以提高系统性能,减少不必要字段的传输损耗。


DAO


全称为:Data Access Object,即数据访问对象。就是一般所说的DAO层,用于连接数据库与外层之间的桥梁,并且持久化数据层对象。


BO


全称为:Business Object,即业务对象。一般用在业务层,当业务比较复杂,用到比较多的业务对象时,可用BO类组合封装所有的对象一并传递。


VO


全称为:Value Object,有的也称为View Object,即值对象或页面对象。一般用于web层向view层封装并提供需要展现的数据。


总结

这些定义在实际使用设计中并不会全部用到,根据不同设计架构定义不同的类对象,形态大致如此,可根据自己项目进行调整。一般各层之间要尽量保持低耦合,不要相互依赖,如web尽量不要引用dao层或服务实现层中的类,在单应用中不会有问题,如果哪天做分布式部署,需要做重构,这些过度依赖将会是十分让人蛋疼的问题。

你可能感兴趣的文章
x265-1.7版本-common/framedata.h注释
查看>>
x265-1.7版本-common/intrapred.cpp注释
查看>>
x265-1.7版本-common/ipfilter.cpp注释
查看>>
x265-1.7版本-common/lowres.cpp注释
查看>>
x265-1.7版本-common/lowres.h注释
查看>>
x265-1.7版本-common/picyuv.h注释
查看>>
x265-1.7版本-common/pixel.cpp注释
查看>>
x265-1.7版本-common/quant.cpp注释
查看>>
x265-1.7版本-common/scalinglist.cpp注释
查看>>
x265-1.7版本-common/slice.cpp注释
查看>>
x265-1.7版本-common/slice.h注释
查看>>
x265-1.7版本-encoder/bitcost.h注释
查看>>
x265-1.7版本-encoder/dpb.cpp注释
查看>>
x265-1.7版本-encoder/dpb.h注释
查看>>
x265-1.7版本-encoder/encoder.cpp注释
查看>>
x265-1.7版本-encoder/encoder.h注释
查看>>
x265-1.7版本-encoder/frameencoder.cpp注释
查看>>
x265-1.7版本-encoder/frameencoder.h注释
查看>>
x265-1.7版本-encoder/motion.cpp注释
查看>>
高阶函数
查看>>