有以下情况:
在创建(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开发的)。
大家热情讨论一下。
谢谢!
本文讨论了在软件设计中关于创建记录时是否应该在一个service方法中同时完成本地保存和JMS发送的问题。作者认为这两个操作应该分开处理,而部门经理则主张在一个service中实现两者。
4618

被折叠的 条评论
为什么被折叠?



