1. 按照你的设计来说,应该是定义在Facade层,其实按我的想法,如果AService和BService
关系那么紧密地话,那么应该将它们的功能合并在一个ABService而不是将其独立
2. 即使将事务设置在service层,使用Spring的声明式事务,那么在一个service中调用其它的service也不会引起事务嵌套,关于这一点你可以写一个小程序验证一下
3. 关于接口的问题,不推荐
首先,即使是事务,也不需要一定是接口,类也可以动态代理的
其次,分离职责,降低耦合,也就是Service类是不需要
知道你的数据存储到哪,需不需要缓存等等
关系那么紧密地话,那么应该将它们的功能合并在一个ABService而不是将其独立
2. 即使将事务设置在service层,使用Spring的声明式事务,那么在一个service中调用其它的service也不会引起事务嵌套,关于这一点你可以写一个小程序验证一下
3. 关于接口的问题,不推荐
首先,即使是事务,也不需要一定是接口,类也可以动态代理的
其次,分离职责,降低耦合,也就是Service类是不需要
知道你的数据存储到哪,需不需要缓存等等
解决方案 »
- hibernate持久化操作的问题
- 15.2%0.5)==0.2
- JAVA中code segment,data segment,heap,stack分别存放什么内容?
- tomcat 发布应用程序后的问题 解决后另给100分
- axis2中可否传递HashMap?
- Unix下控制台和日志中的中文都是问号(???)
- 怎样判断一个字符串是汉字,还是字母?谢了
- BeanUtils.copyProperties(target, o) 抛出异常org.apache.commons.beanutils.ConversionException
- 请大家帮忙解释此函数
- 怎样回事
- 有人用过Jshrink混淆吗?有什么软件能给class文件加密?
- 看拉几天的struts,对着书写拉一个简单的struts例子,还是有一些不明白,我说说看,望各位大哥大姐,看看有什么不对的或者疏忽的给予指出
既然接口都不想用了,你这个所谓Facade层能提供什么较高的价值,深表怀疑中。
简单就是美啊,Action<-->Service<-->Dao。
Action什么都不干,只是一个调用Service入口,事务边界为Service就可以,Service不要相互调用,使用一个或多个Dao完成业务操作。
其实如果使用hibernate之类的ORM产品的话,Dao层干脆都可以不要的,ORM框架已经做了很多的事情。