网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.理解包(package)的基本概念.
.Eclipse插件开发之Bytecode Outl.
.用Java开发代理服务器.
.基于java得web服务器实现[Z].
.大道至简 Java 23种模式一点就通.
.Velocity中的变量问题的解决方法.
.试问:动态语言是否将会挽救Swin.
.1年Java历程的回顾、反思与展望 .
.SCJD相关链接.
.可以获得键值的Applet.
.Java桌面应用程序设计:SWT简介(.
.剖析.Net下的数据访问层技术(1).
.面向对象的思维方式.
.实现类似XP风格的快速按钮.
.改进对象管理方式 提高程序性能.
.编写多线程Java应用程序常见问题.
.GEF-SDK-3.0.1.
.Java入门——Java修饰词总结.
.将一个BigDecimal类型的数转换成.
.PHP调用java类的两种方法.

使用Hibernate的项目中对VO的理解

发表日期:2008-1-5


        前段时间我参与了使用Struts,ibernate的项目,如今项目已经结束,对多层系统的设计有了一些理解.这个项目主要的实现思想和这篇文章---结合struts和hibernate谈J2EE架构的数据表示, 讲述的是一致的.大家可以先浏览一下,我主要想和大家讨论一下VO.

       Web层的数据表示是FormBean,数据来源于Html Form POST
       业务层的数据表示是VO
       持久层的数据表示是PO,其数据来源于数据库,持久层的数据表示例如CMP 

       一般系统的结构是这样的, Action(Web Control) ---> Business Bean ---> DAO ---> ORM --->DB ,可以看出VO的作用就是把数据从Dao层传递到Action中,或者Action传递到Dao中, 其实就是 FormBean ---> VO---> PO,或者PO---->VO---->FormBean. 当然就想Robbin说的那样,好多的系统喜欢省掉VO,直接让PO传递到FormBean,或者在Action中new一个PO,把PO传递到DAO中,这样也是可以的, 主要也就是因为Hibernate功能强大,PO能脱离持久层,像JDO之类的就不可以了,所以在规划系统的时候,必须考虑一个情况是,你的系统以后在维护的时候,是否可能更改持久层产品, 假如可能VO 还是需要的,不然你会修改会很痛苦.
        当然省掉VO确实很爽,我们的系统就是这样的,比较方便,不用再去维护一个VO,效率上当然有不小的提高,但是还有个要注重的问题就是数据库的设计, 一般来说在面向对象编程中,数据库应该使用面向对象的思想设计, 但是这个好多的系统设计是做不到的,或者是老系统没法改变. 存在的问题就是表的设计不合理, 就会出现表的字段很多,当然对应的PO也就会很大,但有时有些信息并不是表示层所需要的也会传递过去,效率上肯定是受损失的,所以这个时候可以使用VO, VO的大小当然可以按照实际的需要定制,非凡是在查询的数据很多的时候,对效率有一定的提高的.

   这是我的一点小的体会,希望大家多多讨论.      

 


上一篇:HTTP请求头概述 人气:933
下一篇:一个字母频率分析计算小程序 人气:662
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐