本文主要介绍了基于SpringMVC+mybatis对DDD思想的落地实现框架。本文为【DDD】系列文章中的其中一篇,其他内容可参考:使用领域驱动设计思想实现业务系统。
框架实现图
该框架实现基本和DDD的指导思想契合,主要分为四层,且将关注点放在了domain层。下面将逐层介绍各个组件的职责。
框架详述
User Interface层
门面层,对外以各种协议提供服务,该层需要明确定义支持的服务协议、契约等。包含:
dto
包括request和response两部分,通过它定义入参和出参的契约,在dto层可以使用基础设施层的validation组件完成入参格式校验;
controller
支持不同访问协议的控制器实现,比如:http/restful风格、tcp/二进制流协议、mq消息/json对象等等。
controller使用基础设施层公共组件完成许多通用的工作:
调用RequestMapping(SpringMVC公共组件)完成servlet路由;
调用checklogin完成登录态/权限校验;
调用logging组件完成日志记录;
调用message-resource组件完成错误信息转义,支持I18N;
application层
service<