在完成领域模型设计后,接下来我们就可以开始微服务的设计和 落地了。在微服务落地前,⾸先要确定微服务的代码结构,也就是我 下⾯要讲的微服务代码模型。
只有建⽴了标准的微服务代码模型和代码规范后,我们才可以将 领域对象映射到代码对象,并将它们放⼊合适的代码⽬录结构中。标 准的代码模型可以让项⽬团队成员更好地理解代码,根据统⼀的代码 规范实现团队协作,也可以让微服务各层的业务逻辑互不⼲扰、分⼯ 协作、各据其位、各司其职,避免不必要的代码混淆,还可以让你在 微服务架构演进时,轻松完成代码重构。
DDD分层架构与微服务代码模型
我们参考DDD分层架构模型来设计微服务代码模型。没错!微服 务代码模型就是依据DDD分层架构模型设计出来的。
我们先简单回顾⼀下DDD分层架构模型,如图14-1所⽰。它包括 ⽤户接⼝层、应⽤层、领域层和基础层,分层架构各层的职责边界⾮ 常清晰,能有条不紊地分层协作。
- ⽤户接⼝层:⾯向前端⽤户提供服务和数据适配。这⼀层聚集了 接⼝和数据适配相关的功能。
- 应⽤层:实现服务组合和编排,主要适应业务流程快速变化的需 求。这⼀层聚集了应⽤服务和事件订阅相关的功能。
- 领域层:实现领域模型的核⼼业务逻辑。这⼀层聚集了领域模型 的聚合、聚合根、实体、值对象、领域服务和事件等领域对象,通过 各领域对象的协同和组合形成领域模型的核⼼业务能⼒。
- 基础层:它贯穿所有层,为各层提供基