借CSDN宝地发个贴,顺便送dodou 1分,欢迎大家进来看看,学习一下dodou的思想。
一般,J2EE程序,可以分为几层,例如:IE、HttpServer、AppServer、DBServer(具体层次的分法不能一概而论);
关于DAO和SessionBean,一般可以认为它位于AppServer和DBServer之间。
可以这么打个比方,
数据库里有一张表,假设表名为:Person;
对这个表,假设有若干个方法:Insert、Update、Delete、Find(Select);
于是,我们可以这样定义一个接口:
DAOInterface,它里面有4个方法Insert、Update、Delete、Find(Select),
然后,我们再具体针对Person写一个抽象类,来实现部分方法。或者可以不用抽象类,直接写个类,实现DAOInterface也可以。
关于为什么要定义接口和抽象类,我前一阵子写过一篇文章,你有兴趣可以去看看,不过我是很失望。
相关链接如下:
http://expert.csdn.net/Expert/topic/2692/2692504.xml?temp=.7921717
因此,当我们在客户端(IE),提出一个查找Person的操作(Find/Select)时,先经过HttpServer层的过滤,然后提交到业务层(AppServer)。在这一层,可以使用一些模式的思想,如:工厂模式或者Build模式或者池模式或者容器模式等等,具体什么模式根据需要了。得到一个抽象的接口(DAOInterface),然后在AppServer这一层,通过调用DAOInterface来对数据库进行操作,实际的操作是在你的Person类里进行的。这其实和EJB、Hibernate、JDO等思想应该是一致的。
实际上,如何设计一个好的J2EE,不是很容易理解和表达的。个人看法不同,需求不同,技术不同,思维方式不同,应该说是:八仙过海、各显神通。
我上面说的只是一种参考思想,不一定正确,你应该对它质疑,俗话说:灯不挑不明,理不辩不明。欢迎你指出我上面说的缺陷。
希望你能贴出你的程序,让大家也学习一下,我个人觉得你的思想很好,再加些封装可能会更好,
我就不贴了,不知道你是否同意公开,
另外,我比较小气,不过我的可用分也不多了,这个帖子就只给1分吧,权当谢谢你公开你的程序。嘿嘿。。
不知有谁能捐点可用分给我?