在实际项目开发中的六层划分

本文深入探讨了项目开发中常见的五层架构(View, Control, VO, QO, BO, DAO)及其关系,通过一个具体实例详细分析了数据流向和各层的作用。实例展示了从页面查询提交到数据最终展示的完整流程,同时解释了PO、VO、DAO、BO等关键概念。此外,文章还提供了基于XML数据库的简单测试例子,旨在帮助开发者理解并实践项目分层设计。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在实际项目的开发过程中,常常为了减弱类之间的耦合性,同时便于项目的维护和复用,往往要分层进行编写代码。自己在实际的项目中发现,一般的项目分的很细的话,会分这样的五层:

      VIEW层:表面展现层,该层是直接面向用户的,即展现层。

      Control层:控制层,控制跳转的

      VO层:值对象,有人也叫模型层,主要是和数据库中表相对应的,字段可少可多。

      QO层:查询对象,当涉及到页面的查询比较多的时候可以将每个查询条件封装起来,作为一层。

      BO层:业务层,处理具体的业务。

      DAO层:数据访问层,该层直接和数据库打交道,用于数据库的增、删、改、查。

      有句话描述的这个项目层次的关系很生动、也很形象。当然表面层我用struts来代替的,语言描述如下:

      数据流向描述:

      FORM,QO和VO只是用来运输数据,FORM就像是大卡车,QO就是放查询条件的包裹,VO是放业务数据的包裹,FORM拉着这两个包裹在VIEW和ACTION中间跑。在VIEW中把查询条件包到QO中,FORM拉上这个QO,把它给了ACTIION,ACTION将QO给BO,BO用这个QO通过DAO向数据库取数,取到的数包到VO中,由BO再给ACTION,FROM再从ACTION中把这个VO包拉给跳转过去的VIEW,VIEW把VO包中数据显示出来。

     下面关于一个简单六层的测试例子来分析详细分析:

      该例子是从页面输入查询条件,点击提交,最后在另一页面显示查询结果的例子:

总结:这个简单的例子通过一个查询页面提交,到后台经过层层的处理,最终把数据查询结果展现在用户面前,该例子的结构体现了在项目开发中的详细分层。本例子的数据库采用的是xml文件。

下面一些词语解释:

一、PO:persistant object 持久对象,可以看成是与数据库中的表相映射的java对象。最简单的PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合。PO中应该不包含任何对数据库的操作。 
二、VO:value object值对象。通常用于业务层之间的数据传递,和PO一样也是仅仅包含数据而已。但应是抽象出的业务对象,可以和表对应,也可以不,这根据业务的需要.个人觉得同DTO(数据传输对象),在web上传递。 

三、DAO:data access object 数据访问对象,此对象用于访问数据库。通常和PO结合使用,DAO中包含了各种数据库的操作方法。通过它的方法,结合PO对数据库进行相关的操作。 

四、BO:business object 业务对象,封装业务逻辑的java对象,通过调用DAO方法,结合PO,VO进行业务操作。 

五、POJO:plain ordinary java object 简单无规则java对象,我个人觉得它和其他不是一个层面上的东西,VO和PO应该都属于它。

 

http://gaojiewyh.iteye.com/blog/408112

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值