浅谈DO、DTO、BO、AO、VO、POJO
三层架构 – 业务分层:
- 持久层(DAO):数据访问层用于访问数据库,实现对数据库中数据的读取保存操作。
- 服务层(SERVICE):处理用户输入信息,建立新的数据存储方式,在存储过程中对数据进行读取,包含“商业逻辑”的描述代码。
- 视图层(VIEW+ACTION):主要功能是显示数据和传输用户数据,可以为网站系统的运行提供交互式的操作界面。Web页面就是视图层的一种应用方式。
分层领域模型规约:
- DO( Data Object):与数据库表的结构一一对应,通过DAO层向上传输数据源对象。
- DTO( Data Transfer Object):数据传输对象,Service层向外传输的对象。
- BO( Business Object):业务对象。 封装业务逻辑的对象。
- AO( Application Object):应用对象。 在Web层与Service层之间抽象的复用对象模型。
- VO( View Object):显示层对象,通常是Web向模板渲染引擎层传输的对象。
- POJO( Plain Ordinary Java Object):POJO专指只有setter/getter的简单类,包括DO/DTO/BO/VO等。
- Query:数据查询对象,各层接收上层的查询请求。 超过2个参数的查询建议封装,不要用Map类来传输。
领域模型命名规约:
- 数据对象:xxxDO,xxx表示数据表名。
- 数据传输对象:xxxDTO,xxx表示与业务领域相关的名称。
- 展示对象:xxxVO,xxx一般为网页名称或网页展示的对象。
- POJO是DO/DTO/BO/VO的统称,禁止命名成xxxPOJO。
浅谈DO、DTO、BO、AO、VO、POJO相关推荐
- DO DTO BO AO VO POJO
分层领域模型规约: DO(Data Object):与数据库表结构一一对应,通过DAO层向上传输数据源对象. PO(Persistent Object):持久化对象,它跟持久层(通常是关系型数据库)的 ...
- 浅谈js执行的AO/VO
浅谈AO/VO详解 首先说明一下AO和VO的含义 AO:Activive Object,即函数的活动对象. VO:Variable Object,即变量对象. 它们的作用是帮助js引擎在引用变量的时候 ...
- DO、DTO、BO、VO、POJO等各种O浅学(总结)
DO.DTO.BO.VO.POJO等各种O浅学(总结) 有哪些 O 关键的 O :DO.DTO.VO.BO 整个数据流程传递 区别用处 VO与DTO的区别 VO与DTO的应用 DTO与DO的区别 DT ...
- 关于POJO 即DO/DTO/BO/VO/AO说明
1.POJO 是 DO/DTO/BO/VO/AO 的统称 DO( Data Object):与数据库表结构一一对应,通过DAO层向上传输数据源对象. DTO( Data Transfer Object ...
- POJO/DTO/DO/EO/VO/BO/PO/AO的含义和使用
关于POJO/DTO/DO/EO/VO/BO/PO/AO 本文讨论 POJO/DTO/DO/EO/VO/BO/PO/AO 的定义,另外讨论了这些xO在controller.service.dao/ma ...
- VO的实际应用;后端接收前端传入的值;实体类转化VO;PO,VO,DTO,BO,DAO,POJO区别
文章目录 各层转换流程 分层领域模型规约: 领域模型命名规约: 后端向前端传参 封装 前端向后台传参 封装 快速转换解决方案 参考 各层转换流程 分层领域模型规约: DO( Data Object): ...
- 概念POJO、DTO、DAO、PO、BO、VO、QO、ENTITY详解
在java开发过程中,新手总是被DAO.PO.BO.VO等等概念弄得晕头转向. 下面我查找了很多资料,总结如下: 一.POJO(Plain Ordinary Java Object 简单Java对象) ...
- VO,BO,PO,DO,DTO,AO的区别
DTO(Data Transfer Object)数据传输对象 这个传输通常指的前后端之间的传输 1.在前端的时候: 存在形式通常是js里面的对象(也可以简单理解成json),也就是通过ajax请求的 ...
- 什么是DO / DTO / BO / VO /AO ?
POJO 是 DO / DTO / BO / VO 的统称. DO(Data Object) :此对象与数据库表结构一一对应,通过 DAO 层向上传输数据源对象. DTO(Data Transfer ...
最新文章
- 2015年百度三面试题
- 容联CTO许志强:AI、5G让通讯更智能、更高效
- linux笔记之 raid
- guid主分区表损坏怎么办_抹盘提示进程失败,导致Win 10无法正常开机怎么办?...
- mac php5.6 gd 扩展,mac 编译安装php5.6.40
- 调整java字体大小_Java自动调整到Windows 7的字体大小调整
- 『学了就忘系列』Linux基础命令 — 搜索操作相关命令
- Android系统匿名共享内存(Anonymous Shared Memory)C++调用接口分析(7)
- 网管日志-06.07.13
- 在2003上实现Custom Task Pane
- 极值点、驻点、拐点的区别-----专升本
- 世上最伟大的十个公式,薛定谔方程排名第六,质能方程排名第五
- 国内8款热门协作软件综合比较
- HBuilder将项目生成安卓手机app
- [敏捷开发培训] 燃尽图(Burndown Chart)
- 如何开发出一款直播APP项目实践篇 -【原理篇】
- 遗传算法(三)——基本遗传算法
- WIndow强制删除文件或文件夹
- 难处理的js单引号与双引号问题解决
- windows中 mysql修改密码
热门文章
- 【跟我学oracle18c】第二十九天:Multitenant :19 Monitoring CDBs and PDBs
- wxml如何注释_WXML注释规范.md
- 你想学的都在这里!双非渣本Android四年磨一剑,赶紧收藏!
- 关于对称归一化的拉普拉斯矩阵为何选用度矩阵D的逆平方根
- echart图表中,给数据添加单位符号
- selenium之用chrome的Mobile emulation模拟手机浏览器测试手机网页
- java个人小管家代码_Java程序设计基础—Java小管家系统构建
- signal和sigaction
- Squire – 简洁的 HTML5 富文本编辑器
- Inverse Reinforcement Learning深层理解