1. 按照你的设计来说,应该是定义在Facade层,其实按我的想法,如果AService和BService
关系那么紧密地话,那么应该将它们的功能合并在一个ABService而不是将其独立
2. 即使将事务设置在service层,使用Spring的声明式事务,那么在一个service中调用其它的service也不会引起事务嵌套,关于这一点你可以写一个小程序验证一下
3. 关于接口的问题,不推荐
首先,即使是事务,也不需要一定是接口,类也可以动态代理的
其次,分离职责,降低耦合,也就是Service类是不需要
知道你的数据存储到哪,需不需要缓存等等
关系那么紧密地话,那么应该将它们的功能合并在一个ABService而不是将其独立
2. 即使将事务设置在service层,使用Spring的声明式事务,那么在一个service中调用其它的service也不会引起事务嵌套,关于这一点你可以写一个小程序验证一下
3. 关于接口的问题,不推荐
首先,即使是事务,也不需要一定是接口,类也可以动态代理的
其次,分离职责,降低耦合,也就是Service类是不需要
知道你的数据存储到哪,需不需要缓存等等
解决方案 »
- jsp小问题求教
- 在tomcat中使用jacob问题
- struts2出错
- 不用STOP()方法怎么强制并且较安全的退出僵死的JAVA线程?请大虾们帮帮忙!
- 【新手请问】工程之间调用方法的问题?
- j2ee问题。在线等。
- Hibernate中query的list方法的问题,求大神看看,谢谢了!
- 紧急!怎么import一个上几层文件夹中的package
- 在程序中用jdbc的一个问题
- XML到我这里原形必露!!!!!!!(高分回帖有分!~)
- 有人用过Jshrink混淆吗?有什么软件能给class文件加密?
- 看拉几天的struts,对着书写拉一个简单的struts例子,还是有一些不明白,我说说看,望各位大哥大姐,看看有什么不对的或者疏忽的给予指出
既然接口都不想用了,你这个所谓Facade层能提供什么较高的价值,深表怀疑中。
简单就是美啊,Action<-->Service<-->Dao。
Action什么都不干,只是一个调用Service入口,事务边界为Service就可以,Service不要相互调用,使用一个或多个Dao完成业务操作。
其实如果使用hibernate之类的ORM产品的话,Dao层干脆都可以不要的,ORM框架已经做了很多的事情。