大多技术人都不了解的领域驱动设计
因为微服务,人们似乎才重新发现了领域驱动设计的价值,可惜的是,对于这样一个在国外 IT 圈享有盛誉并行之有效的设计方法学,国内大多数的技术人员却并不了解,也未曾运用到项目实践中。
什么是领域驱动设计
领域驱动设计是针对复杂系统设计的一套软件工程方法;而微服务是一种架构风格,一个大型复杂软件应用是由一个或多个微服务组成的,系统中的各个微服务可被独立部署,各个微服务之间是松耦合的,每个微服务仅关注于完成一件任务并很好地完成该任务。
领域驱动设计中限界上下文与微服务之间的映射关系。假如限界上下文之间需要跨进程通信,并形成一种零共享架构,则每个限界上下文就成为了一个微服务。在微服务架构大行其道的当今,我们面临的一个棘手问题是:如何识别和设计微服务?领域驱动的战略设计恰好可以在一定程度上解决此问题。
为什么要学习领域驱动设计
如果你负责的软件系统并不复杂,如果你已经能设计出美丽优良的软件架构,如果你只希望脚踏实地做一名高效编码的程序员,那么,你确实不用学!领域驱动设计自然不能解决所有疑难杂症,但却能给你带来一些收获:
如何开始学习领域驱动设计的第一步
要掌握领域驱动设计,就要去思索它概念背后蕴含的原理,同时,要学会运用设计原则去解决问题,而非恪守“设计规范”。例如:
对于领域驱动设计,我也是经历了太多坎坷与陷阱之后,才走在了大多数开发人员的前面,我尝试着解答领域驱动设计的诸多谜题,期望能从我的思考与实践中发现正确道路的蛛丝马迹。
我写的这门课程正是我跌跌撞撞走过一路的风景拍摄与路径引导,就好似你要去银河系旅游,最好能有一本《银河系漫游指南》在手一样,不至于迷失在浩瀚的星空之中,我期待这门课程能给你带来这样的指导。