
杨捷锋
本书的第一部分会带领读者从战术层面以及战略层面重温领域驱动设计的重要概念,然后进一步阐述Eric Evans经典著作中没有显式提出的或者被太多人忽略的但我认为对DDD落地非常重要的若干概念,同时简要介绍从DDD社区兴起的一些软件架构模式。通过第一部分,读者可以更完整、更深刻地掌握DDD的知识体系。第二部分阐述如何设计一种DDD的DSL,包括这个DSL的规范(Specification)支持哪些特性、如何帮助团队描述领域模型的方方面面、这些特性的选择基于何种考量等。这种领域专用语言需要一个名字,我们总不能一直说“我设计的DDD的DSL”吧,于是我给它起了一个名字:DDDML。我认为这是一个很棒的名字。其实这种语言叫什么并不太重要,重要的是它可以用一种足够严格的方式描述领域模型。我认为目前它在简单与复杂之间取得了不错的平衡。当然,其中还有不小改进的空间。比如,我很乐意让它支持更多像“账务模式”这样的分析模式。第三部分介绍如何将“思想照进实现”——通过使用工具将描述领域模型的DSL文档变成可以运行的软件。这个过程涉及大量的技术工具(工具链)的设计与实现。只有将这些技术工具——比如从DSL自动生成应用的源代码的模板——实现出来,才能减轻开发人员实践DDD的负担,进而提升而不是降低软件团队的生产效率。本部分会介绍这些技术工具设计与实现的细节。
二零二一年读完的第二十九本书,前半部分读得比较认真,后半部分主要讲述的是作者开发的DDDML 基本都是跳着读的。在年初的时候也想着去开发一个公司内部的DSL语言,等这段时间忙完后再来推进,希望到时候热情还在吧。
和上面同学说的一样,精华在第一章。 后面作者可能沉迷于自己设计的DSL无法自拔了吧。
玄之又玄,能读通顺的没几句,浪费时间
领域驱动设计,说白了就是回归软件的本位,不要对专业领域指手划脚,而是尽量提供合乎专业原理的软件建构模型。 不要拍脑袋想,而要吸收实践经验,接受那些复杂但是有效的理论模型。 与其让会编程的学习专业知识,还不如让专业的人自己学编程。
AI时代略有启示,前面的章节描述较好,后面的实战环节一般,如何描述行为与规则,靠伪代码的方式是否合适,可能是一个要思考的重点。
前面可以认真阅读,有一定的参考价值,但是后面的DDDML相关的作者的实践,粗略看下就可以,领域场景不同,实践的参考价值不大。
总体还不错,对DDD有不少深入认识,但行文和组织得一般,理解有点费力。后半部的DDDML似乎雄心壮志的,Github上的项目只有spec,还不好理解其中的难度和投入,但是个不错的参考。
理论大于实践的一本书,不过好在在DDD 建模上提供一种新的方法论,需要在实际工作中切身实践落地,一一验证。这样,才能总结出自己的DDD 建模方法论。
1.第一章不错,后面讲 DSL 的部分比较模糊,如果打算自己落地搞,可以借鉴,如果没打算搞,就不推荐看后面的了 2. DSL 是什么?(Domain-Specific Language,DSL)维基百科上是这么说的:领域专用语言(DSL)是面向特定的应用领域专门化的计算机语言。它与通用语言(GPL)相对应,后者广泛适用于不同的领域。 3.本书的作者实现了一套 DDD 的 DSL,在他公司也进行了实践落地,但是没有开源,我们看这本书可以借鉴参考,但是轮子得自己造 ps:没看完,后面实在看不下去了(前面讲了设计的 DSL 语言,后面讲基于此的具体例子,有点难理解)
个人理解,本书亮点在第一部分,详细描述了DDD相关概念和理解,后面基本跳着读