日期:2014-05-20  浏览次数:20653 次

请教一些关于J2EE的一些疑问
前提是没有用任何框架;一直想问一下一般的J2EE的实现顺序和一些技巧;一直不知道自己的理解到底对不对,哪里还需要修改?
我自己的理解是:
首先页面发送请求到Servlet,然后Servlet不做逻辑操作(Controller)(一般只接收参数,然后对参数进行简单的有效性校验,如是否整数等),
之后是调处理类(Model)去做具体的操作,但不对数据库进行操作,对数据库操作的全部放在另一个类(DAO)里让Model去调,
同理,这个DAO类也不做逻辑操作,只是做数据库的增删改查操作,如果是查询,将查询结果存放在一个类似数据仓库的类里(DTO)传给MODEL类,
DTO中只有对查询表中每个字段的set,get方法,目的是为了不用频繁请求数据库;

Controller调用Model的方法和Model调用DAO方法,一般是不是都要通过接口的形式啊?
就是Controller调用的是一个接口的方法,而Model实现了这个接口,同样DAO也是实现了一个接口,让Model去调用,
产生的Model和DAO的实例可以由一个工厂类去生成,一般是不是一个工厂只对应一个Model/DAO啊?
如果Model/DAO没有重用,是不是每一个Model/DAO都要对应一个接口啊?
怎么保证Model/里加了方法,而接口又不动呢?难道一定要事先都设计好?想不全怎么办,需求变化怎么办?
那么有多个Model/DAO,会不会有很多的工厂类和接口呢?
好象抽象工厂是多个工厂的一个包装,但感觉还是不够灵活,能不能只写一个工厂,然后要调用哪个工厂就把工厂要制造的类的一个映射名传给工厂制造呢?
这样所有的地方都只需要一个工厂,这样做好不好呢?
除了工厂模式, 一般J2EE项目中,最常用的还有哪些设计模式,都分别用在什么时候呢?

大家都来讨论下```





--------------------------------
以下内容为自动编辑的内容,并非楼主的发贴内容,此仅用于显示而已,并无任何其他特殊作用
楼主【herowach】截止到2008-08-05 15:39:56的历史汇总数据(不包括此帖):
发帖的总数量:10 发帖的总分数:550 每贴平均分数:55  
回帖的总数量:68 得分贴总数量:21 回帖的得分率:30%  
结贴的总数量:10 结贴的总分数:550  
无满意结贴数:1 无满意结贴分:50  
未结的帖子数:0 未结的总分数:0  
结贴的百分比:100.00% 结分的百分比:100.00%  
无满意结贴率:10.00 % 无满意结分率:9.09 %  
敬礼!
取消马甲机器人,请点这里:http://www.java2000.net/mycsdn/robotStop.jsp?usern=herowach

------解决方案--------------------
JSP--->VO--->DAO--->BO--->DB
------解决方案--------------------
up
------解决方案--------------------
vo---> value object 值对象
------解决方案--------------------
jsp-modle-control-manager-dao
------解决方案--------------------
Controller调用Model的方法和Model调用DAO方法,一般是不是都要通过接口的形式啊?
如果想实现分层开发的话,需要实现,比如说表示成,业务层和持久层并行开发,大家不相互影响,这样是需要进行接口话开发的
就是Controller调用的是一个接口的方法,而Model实现了这个接口,同样DAO也是实现了一个接口,让Model去调用,
产生的Model和DAO的实例可以由一个工厂类去生成,一般是不是一个工厂只对应一个Model/DAO啊? 
可以设计成一共有两个工厂,一个是产生所有model的,一个是产生所有dao的
如果Model/DAO没有重用,是不是每一个Model/DAO都要对应一个接口啊?
当然要实现,每一个层都是通过接口说话
怎么保证Model/里加了方法,而接口又不动呢?难道一定要事先都设计好?想不全怎么办,需求变化怎么办?
model里加了方法,model里的每一个方法基本上都对应一个业务,增加了方法说明业务发生变化,那么业务接口肯定也的变化。函数内部的变动不影响接口,这个你肯定也知道。
那么有多个Model/DAO,会不会有很多的工厂类和接口呢?
接口肯定会有多个,但是工厂可以只有两个
除了工厂模式, 一般J2EE项目中,最常用的还有哪些设计模式,都分别用在什么时候呢?
单例模式,工厂模式,适配器,迭代器等等

------解决方案--------------------
Controller调用Model的方法和Model调用DAO方法,一般是不是都要通过接口的形式啊? 

一般来说是的,因为一般都是写好接口,然后再去实现,
这样是一种好的习惯!
------解决方案--------------------
怎么保证Model/里加了方法,而接口又不动呢?难道一定要事先都设计好?想不全怎么办,需求变化怎么办? 

一班都是先写好,实在不行的话,你可以向接口里面添加方法嘛!
------解决方案--------------------
那么有多个Model/DAO,会不会有很多的工厂类和接口呢? 

是啊,当然会有多个工厂啊,
你如果学了Spring的话就不需要工厂了啊,
去学Spring 吧,那里会有很好的解决方法的!

第三个贴子了,记得给分哦!
------解决方案--------------------
顶你,顺便学习一下!

------解决方案--------------------
mark ~
------解决方案--------------------
楼主加油,你马上就要体会到包结构的设计原理及使用Spring等框架的原因了