序 一
——周吉鑫[1]
本书的读者是幸运的!我运用领域驱动设计磕磕绊绊十余年,读过本书的内容之后,深感它是一本可与《领域驱动设计》和《实现领域驱动设计》互补的书,它在领域驱动设计落地方面尤其出色。
2007年,我阅读了Eric Evans的《领域驱动设计》。2014年,我又阅读了由Eric Evans作序、Vaughn Vernon编写的《实现领域驱动设计》,后来,我有幸认识了该书的审校者张逸老师,和张逸老师的沟通令我受益匪浅。虽然知道张逸老师在领域驱动设计方面功力颇深,但在拜读了张逸老师的这本书的初稿之后,我依然非常吃惊,觉得张逸老师真正做到了将领域驱动设计知识融会贯通。张逸老师在这本书中对限界上下文、聚合、领域服务概念进行了深刻阐述,并通过案例的运用让研发人员在使用这些概念时不再迷惑。他还在参透了六边形整洁架构、架构与分层架构的本质后,大胆突破,提出了精简的菱形对称架构,从架构角度让领域驱动设计更加容易理解和落地,并通过服务驱动设计,以任务分解的方式让测试驱动开发和领域驱动设计无缝结合,让设计可以推导验证,让开发人员可以自然而然写出不再“贫血”的代码。
本书不仅具备国内作者难得的宽阔视野和理论深度,而且有丰富的案例与实战经验总结,其中一些总结还细心地标明了出处,如关于过度设计和设计不足的权衡案例后面的总结:“具有实证主义态度的设计理念是面对不可预测的变化时,应首先保证方案的简单性;当变化真正发生时,可以通过诸如提炼接口(extract interface)[6]341的重构手法,满足解析逻辑的扩展。”
本书中有很多这样的总结,因此阅读这本书相当于吸收了很多本书的精华。记得张逸老师曾向我推荐过Robert Martin的《架构整洁之道》,当时我告诉他那是我2019年读的最好的一本书,而今天,我要告诉他,他的这本书是我2020年读到的最好的一本书!
[1] 周吉鑫,京东资深业务架构师,2011年起至今在京东公司进行物流系统的建模、分析和设计工作,主要工作包括京东亚洲一号WMS、WMS3.0~WMS6.0系统、云仓、国际化物流系统、无人仓系统等的建模、分析和设计。