这个SSH结构,弄出一个业务层,目的就是那个,脱离action中杂糅dao的数据库操作代码,术语就是解耦合,上次看了一文章,说这结构似乎很少用那些设计模式,因为spring就充当了那工厂,也可以说是这本身就是一个设计模式吧,但是现在有个疑问,就是接口的问题,该如何设计,是基于DAO,还是基于业务?我看了那个轻量级企业应用,里面是基于DAO的,但SSH开发,DAO这一层都是自动生成的。难道还是一个一个添加上impelements (设计的接口),而那基本的改(增),删,查操作的方法名字,还要拷贝到接口里面,。 所以想听听大家的意见,大家都是怎么开发的?
解决方案 »
- hibernateTemplate 数据提交失败
- 用struts的HTML写页面很麻烦,有没有好点的办法
- attributeRemoved没有被触发
- 我的是MyEclipse 6.0.1怎么配置tomcat问题,很急。。。。。。还有MyEclipse 6.0.1是不时兼容JDK和tomcat啊?
- hiberate中提示数据大小超出此类型的最大值(急)
- Java程序中怎么调用带output参数的SQL存储过程?
- Hibernate的表关联问题,初学不会阿。
- 客户端测试ejb(stateless session bean),application 可以,servlet却不行?郁闷好几天了(100分)
- 用xml+xslt生成动态表单但不能对应actionform?
- 在线跪求如何写一个记录用户操作敏感数据的记录
- 请问我现在架设了网站,想用户在上传图片到网站的时候可以先压缩(在客户机)然后在上传
- 关于Struts2的检验框架的问题
按照设计模式的眼光而论,DAO模式就是个漏洞百出,耦合性高得吓人,设计奇差的模式;
然后按照各种设计原则来写持久化层,本来dao算上接口才两个类,用上那些设计原则,要十个以上;
举个简单的例子,首先,dao实现关系太紧耦合了,要分解成一个工厂,一个策略,然后通过单一原则要把每个方法设计成一个类,相当于一个类只做一个方法,然后还要设计出一个持久化层的祖接口,一个简单DAO的两个类,等你运用各种好模式进去,都十几个类了,工作成本和学习成本上根本划不来,不一定好的就是实用的嘛,呵呵,所以dao有他的优势,简单,易用,最重要的是谁都会!!!~
代码的结构重要,但是你要理解他大的结构,代码的结构多着呢,但是万变不离其宗,写多了就知道;
怎么样都是那一条路子;下个springde 的源代码包,他又示例程序,各个层分的还不错
没办法,设计阶段就是这么麻烦,如果LZ懒的写那些增删改查操作,多少有些办法还是能让你少写的,但不是不写恐怕不行,给你贴一个hibernate官方的通用DAO,希望对你有用http://www.hibernate.org/328.html里面的多用了JAVA的泛型,反射机制,如果LZ英语好可以看看