《深入实践 DDD:以 DSL 驱动复杂软件开发》由拥有二十年商业软件开发经验及十年技术管理经验的资深技术专家杨捷锋撰写,是目前市场上仅有的阐述如何通过使用领域专用语言(DSL)实现领域驱动设计(DDD)的图书,本书深度解读DDD思想,揭示使用 DSL实现DDD快速落地的方法与技巧。得到众多业内人士的强烈推荐。
以下是蓝图移动首席架构师、前蓝信技术合伙人刘建阅读本书后撰写的体会,希望对你阅读本书有所帮助。
于细微处见真章
《深入实践 DDD:以 DSL 驱动复杂软件开发》一书的作者杨捷锋是我十多年前在普天工作时的同事。在该书的写作过程中,作者热情地邀请我审阅了书中的大部分章节。当作者提出让我为本书写几句推荐语的时候,基于已经看到的书中内容的质量信心,加上对作者过往工作经历的了解,我欣然从命并深感荣幸。
当收到作者赠送的样书,我忍不住第一时间一读(再读)为快。读完全书,我可以再次确认之前的感慨和评价:本书不是一本针对 DDD 坐而论道的书——对 DDD 关键概念的阐述当然也有,但都十分扼要和精到——而是在一本坚实可靠的 DDD 落地工程化的指导手册。
全书干货十足。书中谈到的一些问题,可能我之前在工作中也碰到过,也使用了各种方式“解决”或“绕过”了,但思考和解决方案不成体系。所以,有些地方作者轻描淡写几句话——读者看得不仔细的话可能就错过了,于我而言却有拨云见日之感。
下面试列几则我在读书过程中记录的笔记,都是我认为写得十分精彩、“于细微处见真章”的地方,其中参杂着我个人的有感而发。
关于实体 ID 与“键”(第 22 页)
在概念上,除了对常见的 DDD 的论述外,针对实体 ID,作者专门给了一个章节进行描述,具体如何区分自然键和代理键,给出一个简单而实用的的规则:能不能见“人”——这里的“人”指的是使用软件的最终用户。这是我见过的最简单实用、且不盲从经典的标准。
随后详细论述了使用代理键的问题——尤其是设计