代码开发中VO,BO,PO,DO,DTO是什么

news/2024/11/8 14:53:15/

代码开发中VO,BO,PO,DO,DTO是什么

MVC的简单定义:

M层负责与数据库打交道;

C层负责业务逻辑的编写;

V层负责给用户展示(针对于前后端不分离的项目,不分离项目那种编写模版的方式,理解V的概念更直观)。

而我们今天要说的VO,BO,PO,DO,DTO呢,就是穿梭在这M、V、C层之间的实体传输对象。‘’

  • VO(View Object):视图对象,用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来。

  • DTO(Data Transfer Object):数据传输对象,这个概念来源于J2EE的设计模式,原来的目的是为了EJB的分布式应用提供粗粒度的数据实体,以减少分布式调用的次数,从而提高分布式调用的性能和降低网络负载,但在这里,更符合泛指用于展示层与服务层之间的数据传输对象。

  • BO(Business Object):业务对象,把业务逻辑封装为一个对象,这个对象可以包括一个或多个其它的对象。

  • PO(Persistent Object):持久化对象,它跟持久层(通常是关系型数据库)的数据结构形成一一对应的映射关系,如果持久层是关系型数据库,那么,数据表中的每个字段(或若干个)就对应PO的一个(或若干个)属性。

  • DO(Domain Object):领域对象,就是从现实世界中抽象出来的有形或无形的业务实体。

 

如果项目比较小,是一个简单的MVC项目,又是单兵作战,我不建议使用VO,BO,PO,DO,DTO,直接用POJO负责各个层来传输就好,因为这种项目的“目的地”是快速完成。

而我们更多的时候,是持续迭代的团队协作项目,这个时候我们就建议用VO,BO,PO,DO,DTO,而且团队内要达成共识,形成一个标准规范

  1. 业务复杂,人员协同性要求高的场景下,这些规范性的东西不按着来虽然不会出错,程序照样跑,但是遵守规范会让程序更具扩展性和可读性;

  2. 让类语义更明确,很容易知道类的含义;

其实就是提升项目的可扩展性可维护性可阅读性

提升这些性能的尽头是经济效益

团队规范的尽头能提升项目的可扩展性可维护性可阅读性,从而降低bug率。

另附这些概念命名规范:

  • 数据对象:xxxPO,xxx即为数据表名。(也可DO)

  • 数据传输对象:xxxDTO,xxx为业务领域相关的名称。

  • 展示对象:xxxVO,xxx一般为网页名称。

  • 业务对象:xxxBO,xxx是业务名称。


http://www.ppmy.cn/news/381768.html

相关文章

OJ管理员如何进行添加题目

OJ系统简介 Online Judge系统(简称OJ)是一个在线的判题系统。用户可以在线提交程序多种程序(如C、C) 源代码,系统对源代码进行编译和执行,并通过预先设计的测试数据来检验程序源代码的正确性。 一个用户提…

ibm+x3650+m4+linux+raid驱动,IBM X3650M4阵列卡驱动下载

ibm X3650M4raid阵列卡驱动适合安装windowsserver2008,windowsserver2008R2,系统问题,服务器问题,可以联系我们也可以到5分享论坛发帖求助。 IBM System x3650 M4服务器是一款应用最为广泛的2U机架服务器,支持Xeon E5-2600机架服务器的所有产…

MPU6050驱动

使用的模拟IIC接口驱动的MPU6050,最后使用官方的mpu_dmp计算的最终数据存在偏移,估计是没有电子罗盘进行校准,时间长了方向偏移特别严重。 //MPU6050 /********************************************************************************************…

HMI-65-【MeterDisplay for Arm Linux】液晶仪表Arm Linxu迁移环境配置

HMI-65-【MeterDisplay for Arm Linux】液晶仪表Arm Linxu迁移环境配置 文章目录 HMI-65-【MeterDisplay for Arm Linux】液晶仪表Arm Linxu迁移环境配置环境搭建开发板环境搭建上位机环境搭建01 安装Qt02 添加设备03 添加Kit套件 代码迁移◕目前项目进展▶第三阶段 液晶仪表节…

WDM驱动

WDM英文Windows Driver Model(WDM)的缩写。 简介 WDM WDM是WINDOWS2000认证的驱动程序,WIN2000由NT发展而来,所以对于设备的支持功能有限,同时为了最大限度的保障稳定性,所以推崇WDM驱动,但同时WDM驱动也就是功能最少…

SQL Server 中count方法和case when语句配合使用中的问题

概要 我们在使用SQL Server生成报表统计数据的时候,经常使用sum,count等聚合函数,有时候还会配合case when语句一边执行过滤操作,一边进行聚合。 本文介绍一个在使用中的常见的错误和解决方法。 设计和实现 下面是一张订单记录…

HMI-66-【MeterDisplay for Arm Linux】液晶仪表Arm Linxu迁移

HMI-66-【MeterDisplay for Arm Linux】液晶仪表Arm Linxu迁移 文章目录 HMI-66-【MeterDisplay for Arm Linux】液晶仪表Arm Linxu迁移摘要修改Pro文件设置CPU亲缘性后面的解决思路1 只用大量属性动画,替换部分效果,现在使用了定时器2 使用新的框架&…

嗨,这里有一个满足ISO 26262 ASIL-D功能安全的整车控制器,你不了解一下吗?

背景介绍 为了保证汽车电子电气的可靠性设计,在2011年发布了ISO 26262(道路车辆功能安全标准),ISO 26262标准横向视角来看,解决的问题是:减少汽车电子电气系统发生系统性失效的可能性,采用的方…