2003年Eric Evans出版了《领域驱动设计》,在不瘟不火了十几年后,终于随着容器技术带来的微服务架构盛行,而焕发了新的生命力,DDD领域驱动设计(Domain Driven Design)成为很多微服务的主流设计思想,并参照着DDD对微服务进行了有明确业务界限的拆分和落地。
DDD从聚焦业务领域逻辑入手,划分业务领域边界,分析提取业务场景或流程中的聚合根,实体,值对象,聚合根,聚合等,编排领域服务,应用服务,构建带有明显业务界限的上下文边界(限界上下文)和核心领域逻辑,并将领域模型作为微服务的输入,完成微服务的设计和落地开发。同时通过事件驱动机制(事件总线和最终一致性),解耦微服务与微服务之间的关联,符合“低耦合,高内聚”的设计原则,保证核心业务逻辑的干净和可复用,方便企业业务中台的搭建,适应搭建过程中的微服务架构演进。
DDD三言两语说不清,博客内的DDD专题,对DDD的原理,思想,以及如何将领域模型映射到代码层面,做了较为详细的介绍。详情见DDD专题:https://www.cnblogs.com/jiyukai/category/1979548.html