如何学习DDD
虽然DDD早在2004年就提出了,但一直没有火起来。直到最近两年才慢慢被大家熟知。深究其原因,我觉得有以下几个原因:
- DDD是解决复杂软件问题的,而之前的软件大多没有很复杂的逻辑,不用DDD也能玩得转;
- DDD 涉及的概念繁多,且不同概念的抽象层次不一样,如果我们直白地去理解,往往会感到疑惑;
- 缺少过程指导,难以将概念有序的串联起来。作为方法论,DDD 给出了设计思想,核心原则以及常用工具,但是却缺少细致有序的方法步骤,导致难以上手实践;
- 缺少优秀的开源框架或项目;
后来微服务大火以后,发现使用微服务有个痛点,就是如何去设计和拆分微服务。而DDD可以很好地解决这个问题,所以DDD乘着微服务的东风,也变得慢慢被大众熟知。
怎么学习DDD
- 系统的学习DDD理论和模式
- 研究和分析DDD落地项目
- 将DDD运用到自己的项目里
- 多与同行交流和探讨
推荐书籍
- 领域驱动设计:软件核心复杂性应对之道 Eric Evans
https://cloud.189.cn/t/feaaU3JRVBJv(访问码:uqd0)
- 实现领域驱动设计 Vaughn Vernon
https://cloud.189.cn/t/AbMNJ3E3IjYb(访问码:j6n6)
- 领域驱动设计精粹 Vaughn Vernon
https://cloud.189.cn/t/BF3Mfm7FfUry(访问码:70jh)
可供学习的开源项目
- https://gitee.com/xtoon/xtoon-boot
- https://github.com/citerus/dddsample-core
- https://gitee.com/codergit.com/dddin-action
- https://gitee.com/izhengyin/ddd-message
可以加DDD落地交流群,微信群里有优秀的DDD落地项目分享,可以在群里和小伙伴们一起学习DDD!