论坛首页 Java企业应用论坛

“过度设计”之真实例子

浏览 85420 次
该帖已经被评为新手帖
作者 正文
   发表时间:2010-09-29  
引用
DAO都抽象成公共的,不需要自己定义DAO


难道就没有复杂点的查询?
0 请登录后投票
   发表时间:2010-09-29  
Keep it simple and stupid
0 请登录后投票
   发表时间:2010-09-29  
2022228 写道
引用
DAO都抽象成公共的,不需要自己定义DAO

难道就没有复杂点的查询?


难道你的查询都是复杂的?
0 请登录后投票
   发表时间:2010-09-29  
matt.u 写道
2022228 写道
引用
DAO都抽象成公共的,不需要自己定义DAO

难道就没有复杂点的查询?


难道你的查询都是复杂的?


况且公共DAO也可以使用Native Sql。
0 请登录后投票
   发表时间:2010-09-29  
JavaLanguageFun 写道
哎,,LZ 估计刚毕业吧 。这样的架构是很常见的,专为了各种的小系统而设计的 。也能在一定情况下 适应中等系统,不要抱怨说这个架构多麻烦 ,你应该多想想这个架构带来了什么好处 。学的时思想,写代码谁他妈不会写啊!

不好意思,我可能不是你想的那种人,呵呵,思想谁都在看,学JAVA学的是什么呢,还不就是思想,有学算法吗,没有,有学数据结构吗,没有, 只有那一开始的23种模式,再加上无敌的SSH,然后写个HelloWorld建8个类, 到头来却只发现,原来自己做的只不过是 添加删除修改 而已
0 请登录后投票
   发表时间:2010-09-29  
bonny 写道
引用
首先我再次声明,目前在这么庞大的设计架构背后,只是一个小小的管理系统, 用的是SSI+EXT
JSP里应该避免写任务的JS, 那我JSP里写什么呢, 用了EXT, JSP里一般HTML都不用写。
Action存在的意义其实是动作,可以理解成Model,而非控制(Controllor),可以去看struts2文档,它就是让你写业务
service层其实可以写成抽象Action,写一些公共的业务逻辑,实体Action继承这个抽象的Action,不是更好吗
DAO层其实已经在ibatis里实现,ibatis就是项目中的DAO层,它的每一个操作,都是实现对数据库直接操作的一层,你的SQL都写在XML里, 这跟我们以前用JDBC手动写的一层DAO有何区别呢

其实编程应该尽可能简单,以同样的方式实施同样的过程,不断积累惯用法,将其标准化。

1,使用OPOA,只有一个jsp,一个页面一个js。
2,如果用ext,不要用struts,用springmvc直接responsebody
3,其他同以上我说的


不错,我其实就是用SpringMVC, 因为struts太有名了,所以 提出来说而已
0 请登录后投票
   发表时间:2010-09-29  
楼主,首先我要说你连最基本的事务边界可能都不清楚。Service层都没有,按你思路做出的系统,绝对存在数据的不一致性。

为什么要用接口?
这方面的好处,我就不说了,自己看书去。

Ext为什么要封装?
这样可以统一界面,如果你每个人都按自己一套创建一个panel,当需要在panel上都加一个按钮什么的,你需要改多少个jsp?人家只要改一个包装的js。任何项目都会用Ext.extend来封装自己的项目组件。

为什么js要提出到单独文件?
1.、编辑器友好,你在jsp里能代码提示吗,能校验吗?
2,方便压缩,js和html合并从来都不是什么问题,弄个ant任务就行了。

分的多不是问题,关键是分割都是必要的,按你的思路,弄一个jsp就写一个系统得了,来回请求这个jsp,用标志位判断执行哪一段,那岂不是超级简单了?这样你就爽了?
0 请登录后投票
   发表时间:2010-09-29  
matt.u 写道
matt.u 写道
2022228 写道
引用
DAO都抽象成公共的,不需要自己定义DAO

难道就没有复杂点的查询?


难道你的查询都是复杂的?


况且公共DAO也可以使用Native Sql。



所有native sql都写这个dao里面?
0 请登录后投票
   发表时间:2010-09-29   最后修改:2010-09-29
喜欢简单直接的约定和结构,讨厌所谓的设计模式和过多配置文件。再大的项目也是由小项目组成的,做好够用的契约和分层一样很好维护,也更容易理解。
0 请登录后投票
   发表时间:2010-09-29  
2022228 写道
js单独放在一个文件中的好处:
客户端第一次请求后就会缓存,不会找服务器要了

如果你放在jsp文件中:
js的代码每次都要由服务器发给客户端,增加网络传输量

service层是用于事务处理拦截处理的,一般的系统需要。你们不需要的话,的确可以省掉这层。
dao层存在也合理啊,每张表一个dao



0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics