`

系统分层设计

    博客分类:
  • java
阅读更多

分层开发遵守的原则:

 

在action中调用多个service好,还是调用一个集成的service好呢?

 

解决方案:

应该是尽量调用一个service,设计业务逻辑组件时你应该对外提供一个完整的服务,比如要注册一个用户,外对应该只提供一个方法,

那么验证你注册用户是否存在的逻辑应该在这个服务中去判断,而不应该你在action中先去调用判断用户是否存在的服务,不存在再去调用注册的服务。

另一种情况就是要看你的事务从哪里开启,一般从业务逻辑层开启事务是最合理的,所以你的action如果要调用多个service,很难保证在一个事务中。

 

设计总结

1、上层依赖于下层,依赖关系不跨层;

2、一切设计都从Service层出发,作为一个系统首先需要把握其业务。从系统需要提供的功能进行分析,来确定Service接口中的方法,而不是从数据库出发到dao和Domain,再到Service层。不要对系统分层产生了误解,还是从最重要的功能来考虑的;

3、事务控制放到Service中;

4、Service层的设计,需要考虑控制Service的数量,通常将一个模块的服务放到一个Service中来处理,从Service层往下看,接口逐渐增多;

5、服务层的实现依赖于领域活动。最核心的设计就是将系统中的实体划分为领域模型,在此基础上设计dao层,再把这些操作暴露给Service层;

6、每一个层中的接口都关注自己的那一块,不能在一个Dao中随意操作别的表,这样只能让项目更加难以维护。

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics