2007-10-17
(讨论)Java EE的Service的设计模式,大家讨论一下
关键字: 设计模式
有以下情况:
在创建(create)记录时,需要保存(save)到本地数据库中,同时需要通过JMS发送给JMS的接收方。使用何种模式!
个人认为:
save to local
save to jms
是二种服务,应当定义二种service,在Action中分别调用。
而我们DM(Department Manager)坚持认为,应当在一个service中实现。即在service的save()方法中,不仅保存到本地,同时JMS发送。
个人认为DM的方法不符合软件设计的模式,serivce是提供给外部使用的接口,功能应当单一,对于组合的功能,应当通过在action中调用或者是通过切面设计的原则来实现。
现在在进行权限检查或者日志记录等方面时,大部分的设计都是通过对于service进行拦截的方式来实现。(偶DM不是通过这种方法实现,而是通过在Struts的execute()方法中调用来实现。DM原来是做ASP,DOMINO开发的)。
大家热情讨论一下。
谢谢!
在创建(create)记录时,需要保存(save)到本地数据库中,同时需要通过JMS发送给JMS的接收方。使用何种模式!
个人认为:
save to local
save to jms
是二种服务,应当定义二种service,在Action中分别调用。
而我们DM(Department Manager)坚持认为,应当在一个service中实现。即在service的save()方法中,不仅保存到本地,同时JMS发送。
个人认为DM的方法不符合软件设计的模式,serivce是提供给外部使用的接口,功能应当单一,对于组合的功能,应当通过在action中调用或者是通过切面设计的原则来实现。
现在在进行权限检查或者日志记录等方面时,大部分的设计都是通过对于service进行拦截的方式来实现。(偶DM不是通过这种方法实现,而是通过在Struts的execute()方法中调用来实现。DM原来是做ASP,DOMINO开发的)。
大家热情讨论一下。
谢谢!
评论
jimmy.shine
2007-10-18
Re 惊鸿逝水 :
大家可能还是没有明白偶的意思,偶的意思是分成二个Service,可以通过配置的方式,或者说是加载aspectJ拦截的方式来实现,就像是大家记录日志,总不会说在service都加上吧。
大家可能还是没有明白偶的意思,偶的意思是分成二个Service,可以通过配置的方式,或者说是加载aspectJ拦截的方式来实现,就像是大家记录日志,总不会说在service都加上吧。
惊鸿逝水
2007-10-18
这种应用场景我觉得应该使用粗粒度的Service,调用者不需要去关心你是保存到Local,还是JMS还是其他。
jimmy.shine
2007-10-18
Re dennis_zane、hamlet、galaxystar:
不知道大家看明白没有,还是偶没有表述清楚,偶的意思是二种业务,应当提供二个Service来实现,至于通过JMS发送,完全可以通过aspectJ或者spring的拦截来实现。
这种jms的业务应当是易于配置。
不知道大家看明白没有,还是偶没有表述清楚,偶的意思是二种业务,应当提供二个Service来实现,至于通过JMS发送,完全可以通过aspectJ或者spring的拦截来实现。
这种jms的业务应当是易于配置。
galaxystar
2007-10-17
DM应该是有预见性的认为, 大部分业务操作都是要保存到本地,同时JMS发送.
这可以说是一种粒度适当的操作.
但是, 程序编码时, 是否易于扩展, 就要看楼主的了!
这可以说是一种粒度适当的操作.
但是, 程序编码时, 是否易于扩展, 就要看楼主的了!
hamlet
2007-10-17
考虑事务性,你dm的做法不无道理
dennis_zane
2007-10-17
说真的,我不认为这是个问题,一开始不妨听从DM的意见,写在一个service里,如果通过JMS发送这个功能在很多地方用到,那么通过extract method、move重构一下也是举手之劳。
发表评论
提醒: 该博客已发表在公共论坛,博客所有留言会成为论坛回贴,留言请注意遵守论坛发贴规则
- 浏览: 63124 次
- 性别:

- 来自: 北京

- 详细资料
搜索本博客
最近加入圈子
最新评论
-
市场至上,还是我们应当坚 ...
一蓑烟雨任平生 写道优秀的项目经理,要能打硬仗、打恶仗,成了是英雄,败了当炮灰, ...
-- by gurudk -
市场至上,还是我们应当坚 ...
zqrain 写道gigix说得很好,但是,可能不是jimmy.shine的关键 ...
-- by simenliu2003 -
市场至上,还是我们应当坚 ...
还真是 以卖专利为生的公司除外 ziggler 写道在很多公司里面,技术是市场的 ...
-- by celine -
市场至上,还是我们应当坚 ...
jimmy.shine 写道 这种问题,不知道大家有没有遇到,又是如何处理的呢? ...
-- by chenzengpeng -
市场至上,还是我们应当坚 ...
在很多公司里面,技术是市场的一支枪而已。
-- by ziggler






评论排行榜