加餐2|读这些书,帮你学懂DDD
钟敬
你好,我是钟敬。
今天是大年初五。如果你还在继续学习,那么我也要继续为你点赞!这节课是春节策划的第 2 期,我们谈谈学习 DDD 可以读什么书。同时,我也会分享一些自己的读书体会,希望我们共同进步。
DDD 的“老三篇”
现在国内外 DDD 方面的书已经出版了不少,其中有三本出现最早,影响最大的大部头,我把它们称为 DDD 的“老三篇”。一本是《领域驱动设计——软件核心复杂性应对之道》(以下简称《领域驱动设计》),另外两本是《实现领域驱动设计》和《领域驱动设计模式、原理与实践》。
《领域驱动设计》
Eric Evans, 2004
Eric Evans 的《领域驱动设计》是奠基之作,书中提出了 DDD 的概念,说明了这种方法的基本原理和主要内容。
我认为这本书应该是学习 DDD 的必读书。不过很多人觉得这本书晦涩难懂,因此他们就转而阅读“老三篇”里另外两本书了。
而我自己读这本书的时候并没有觉得难懂,反而有豁然开朗的感觉。我分析,感觉这本书难懂的主要原因是缺乏面向对象方法学的基础。而当年,我读这本书的时候,已经研究了面向对象分析和设计一段时间了。
所以,如果你一开始确实没有完全读懂,那么可以把前面几章先读个大概,把不知所云的部分标记出来,然后补一下面向对象方法学的基础,再回过头来读原书,说不定就能够茅塞顿开了。稍后,我会推荐几本关于面向对象基础的图书。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
领域驱动设计(DDD)是软件开发中重要的方法论,需要阅读经典著作来深入理解。其中,《领域驱动设计》、《实现领域驱动设计》和《领域驱动设计模式、原理与实践》是必读书籍,由Eric Evans等撰写,提出了DDD的概念和原理。此外,补充面向对象方法学基础的《UML和模式应用》和《面向对象分析与设计》也是重要辅助读物。学习UML建模也是重要一环,建议阅读《UML用户指南》和《UML精粹》。在掌握基础后,可以进阶学习领域建模技术,推荐阅读《分析模式》和《对象模型——策略、模式与应用》。此外,对于翻译质量有疑虑的读者,建议同时阅读中文版和英文版,以更好理解书籍内容。文章还提到了一些书籍的特点和难度,以及如何选择适合自己的学习顺序。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《手把手教你落地 DDD》,新⼈⾸单¥59
《手把手教你落地 DDD》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(7)
- 最新
- 精选
- aoe单独阅读《领域驱动设计》这本书比较吃力,但结合钟老师的专栏一起读,就轻松了很多,最起码看的懂 UML 图了,对理解内容有了很大帮助。 我确实没有「面向对象方法学的基础」,通过专栏才知道:面向对象针对数据全部能装入内存中的程序比较友好,存取方便;但工作中数据基本都是存数据库的,一直写的是过程式代码。 非常赞同「模型的重构」这个观点,正如《领域驱动设计》序言中所说:「Eric 的经验告诉我们,真正强大的领域模型是随着时间演进的,即使是最有经验的建模人员也往往发现他们是在系统的初始版本完成之后才有了最好的想法」。 《分析模式》这本书买了,是钟老师翻译的这个版本,还没拆封。原本以为读完《领域驱动设计》就能读懂了,现在看来至少要先读完「面向对象」的两本书后再来挑战。 看了钟老师分享的书单后很激动,在新的一年里跟着书单学习 DDD,走向星辰大海。 最后分享一段令我对「创建复杂对象」豁然开朗的一个例子(摘自《领域驱动设计——软件核心复杂性应对之道》 6.2 模式:FACTORY): 如果再让复杂对象负责自身的创建,那么职责过载将会导致问题。 汽车发动机是一种复杂的机械装置,它由数十个零件共同协作来履行发动机的职责﹣﹣使轴转动。 我们可以试着设计一种发动机组,让它自己抓取一组活塞并塞到汽缸中,火花塞也可以自己找到插孔并把自己拧进去。 但这样组装的复杂机器可能没有我们常见的发动机那样可靠或高效。 相反,我们用其他东西来装配发动机。或许是机械师,或者是工业机器人。无论是机器人还是人,实际上都比二者要装配的发动机复杂。 装配零件的工作与使轴旋转的工作完全无关。只是在生产汽车时才需要装配工,我们驾驶时并不需要机器人或机械师。 由于汽车的装配和驾驶永远不会同时发生,因此将这两种功能合并到同一个机制中是毫无价值的。 同理,装配复杂的复合对象的工作也最好与对象要执行的工作分开。
作者回复: 发现你读书已经渐入佳境了 :)
2023-01-26归属地:浙江7 - Jxin钟老师看的真多, 补两本《实现模式》《重构》。 除了用大师总结出来的方法论,还希望看看总结出方法论的过程和原则。除了知道当下趋势,还希望掌握出识别趋势的本事。
作者回复: 嗯,都是好书。
2023-01-29归属地:山东1 - 支离书太棒了,这样体系的指导真是前无古人后无来者了,期待后面的书单
作者回复: 共同进步 :)
2023-01-27归属地:河北1 - leesper“翻译水平”有待提高,钟老师已经很委婉了,要我说,有些翻译简直是糟蹋原著……我的方法是:把英语学好,直接读原著!
作者回复: 能学好英语,那就更棒了!
2023-03-01归属地:贵州 - abc🙂有些译本读的好吃力啊😂😂😂
编辑回复: 老师出了主意啊,原著和译本对照看~
2023-02-12归属地:福建2 - karson额…坦率的讲,是读分析模式的时候记住了这个译者,才买了这个专栏2023-03-13归属地:浙江
- escray买书或者找到合适的书单并不难,难的是读书,更难的是读懂。 在微信读书里面有《实现领域驱动设计》的电子版,另外还有一本 ThoughtWorks 的《领域驱动设计》——一些文章的合集,在网络上能够找到《领域驱动设计》的英文电子版,希望今年能够通读一下。 如果还有时间,也可能会看一下极客时间里面相关的另外两个专栏。2023-01-30归属地:北京
收起评论