大家有什么好的建议?

zcl198715 2010-06-26 01:42:16
近来在使用s2sh开发项目时和一位同仁就后台业务逻辑开发出现了分歧,他主张在struts2的action中传递sql语句到后面,后台处理前台传递过来的sql,完成相应的操作。而我则主张通过用例驱动,确定服务层的接口,struts的action只调用服务层的接口,不用写sql。我那位同仁认为我这样编写代码会导致服务层的接口太多,他那样设计只需在action中编写sql,后台服务层无需改动。但我觉得这样表现层与服务层耦合度太高了。
大家有什么看法?还请赐教!
...全文
113 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
linfir20 2010-06-27
  • 打赏
  • 举报
回复
标准的web开发基本都是action--->services---->dao 这样的模式,action中指负责跳转一些非常简单的操作,组装sql可以在services层进行,再传递给dao做数据库操作。毕竟services层是业务逻辑的核心代码层,涉及到业务逻辑的操作应尽量放在这里,dao让他只负责执行sql语句和传递结果这样的操作。
JE8000TO 2010-06-26
  • 打赏
  • 举报
回复
学习。后来者……
半卷书 2010-06-26
  • 打赏
  • 举报
回复
学习。
龙四 2010-06-26
  • 打赏
  • 举报
回复
不用分的那么绝对吧,这个看具体情形具体分析

如果只是一味遵循所谓的原则,只怕是纸上谈兵了
一撮韭菜 2010-06-26
  • 打赏
  • 举报
回复
正规开发业务逻辑一般不写在 action中 这样便于管理耦合度低 支持楼主观点
wangzhantao 2010-06-26
  • 打赏
  • 举报
回复
学习一下
meadking 2010-06-26
  • 打赏
  • 举报
回复
My advice is :
solve by fist.
武力解决.sevice还是分开比较好.可以重用一部分service.
也不差那点代码
Pbulic 2010-06-26
  • 打赏
  • 举报
回复
action service dao
mndn_nana 2010-06-26
  • 打赏
  • 举报
回复
[Quote=引用楼主 zcl198715 的回复:]
近来在使用s2sh开发项目时和一位同仁就后台业务逻辑开发出现了分歧,他主张在struts2的action中传递sql语句到后面,后台处理前台传递过来的sql,完成相应的操作。而我则主张通过用例驱动,确定服务层的接口,struts的action只调用服务层的接口,不用写sql。我那位同仁认为我这样编写代码会导致服务层的接口太多,他那样设计只需在action中编写sql,后台服务层无需改动。但我觉得这……
[/Quote]
本身前期没设计好罢了,不过这种事情也很正常的,人毕竟不是神
只是感觉按规范走好一些吧
xyz1203 2010-06-26
  • 打赏
  • 举报
回复
wqkjj 2010-06-26
  • 打赏
  • 举报
回复
[Quote=引用楼主 zcl198715 的回复:]
近来在使用s2sh开发项目时和一位同仁就后台业务逻辑开发出现了分歧,他主张在struts2的action中传递sql语句到后面,后台处理前台传递过来的sql,完成相应的操作。而我则主张通过用例驱动,确定服务层的接口,struts的action只调用服务层的接口,不用写sql。我那位同仁认为我这样编写代码会导致服务层的接口太多,他那样设计只需在action中编写sql,后台服务层无需改动。但我觉得这……
[/Quote]

这个肯怕是一个仁者见仁,智者见智的问题。我只是想建议
(1)采用最好的技术未必是最佳解决方案,而是最适合客户需求的技术才是
(2)基于上述理由,拘泥于MVC分层之类,那是过于教条;
(3)如果LZ的同事是基于系统后期的维护的方便和灵活性,那是一个不错的理由,我认为LZ应该认真考虑。
liboren 2010-06-26
  • 打赏
  • 举报
回复
action里不应该写sql,违背了分层原则
lzh_me 2010-06-26
  • 打赏
  • 举报
回复
action中还是不要写太多的东西,只负责跳转什么的就可以了。
而且还要看你们的事物处理控制在哪一层上..
zcl198715 2010-06-26
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 fondofjava 的回复:]
都差不多的。
1,你同事action层代码肯定很多。
2,你service层代码肯定很多。

我认为其实两种方案都可以。
[/Quote]
谢谢你的建议,不过事务一般设在服务层,有时action中同时要调用服务层两个方法,我担心这样可能会造成事务的不一致啊!
fondOfJava 2010-06-26
  • 打赏
  • 举报
回复
都差不多的。
1,你同事action层代码肯定很多。
2,你service层代码肯定很多。

我认为其实两种方案都可以。

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧