?
层次 | 职责 | 允许的操作 | 不允许的操作 |
外部入口层(输入入边界) | 接收外部请求,封装成代码内部可用数据 | 读取各种外部输入资源,如http请求,文件等 | 直接调用基础服务 包括直接调用dao,mc,mq等 |
接口服务层 | 校验请求数据的格式合法性,并调度各个业务服务,串联推动业务服务 | ? | 无特殊情况,不直接调用基础服务层 |
业务服务层 | 进行一个和多个领域模型之间的业务的封装, ?
|
缓存各种独立在db外的信息 可配合工具类实现领域对象的重新封装 |
? |
领域服务层 | 提供单个领域的各种操作,如增删改查。 |
缓存各种基于db的列表信息 可配合工具类实现领域对象的重新封装 |
? |
基础服务层 | 提供基础的存储和外部服务依赖的 | dao服务:可对应db行记录缓存领域对象 | dao服务无特殊情况不缓存 领域对象的列表 |
基于Spring的web服务端逻辑代码层次及对应职责的一点想法
原文:http://douknow.iteye.com/blog/2220872