《深入实践DDD:以DSL驱动复杂软件开发》[62M]百度网盘|pdf下载|亲测有效
📦 Download Book
- DDD落地困难:揭示如何通过DSL将领域模型直接转化为可工作代码,解决DDD从理论到实践的鸿沟。
- 复杂软件建模混乱:传授战术设计与战略设计的关键概念,帮助团队构建逻辑自洽的领域模型。
- 业务与代码脱节:通过DSL描述领域模型,让代码准确反映业务逻辑,保证开发的是“正确的软件”。
- 技术工具链缺失:详细讲解如何设计DDD原生DSL,并利用技术工具实现模型到代码的自动转化。
- 架构演进无方向:结合真实商业案例,探讨DDD与SaaS、PaaS的结合,为系统架构演进提供指导。
- 产品经理与系统分析师:需要保证团队开发正确的软件,通过DDD与DSL提升领域建模与需求分析能力。
- 软件架构师:面对复杂业务系统,需要掌握DDD战术与战略设计,并利用DSL实现快速落地。
- 高级开发工程师:希望深入理解DDD思想,学习DSL驱动开发,提升复杂软件的设计与编码能力。
- 技术管理者:需要指导团队实践DDD,了解如何通过工具链提升开发效率与软件质量。
- 先重温DDD基础:第一部分快速回顾战术与战略设计概念,为后续DSL学习打好基础。
- 重点研读DSL设计章节:理解DSL规范支持的特性及其选择考量,这是全书核心。
- 结合案例理解代码生成:仔细分析商业案例中的关键代码,了解DSL到代码的转化过程。
- 动手实践建模案例:跟随书中建模案例,尝试设计自己的DSL并生成代码。
- 思考架构演进:阅读SaaS、PaaS相关章节,结合自身项目思考DDD的落地策略。
- DDD深度认知:深入理解领域驱动设计的战术与战略设计,能够构建逻辑自洽的领域模型。
- DSL设计能力:掌握设计DDD原生DSL的方法,能够定义描述领域模型的规范与特性。
- 代码生成技术:学会使用技术工具将DSL文档转化为可工作代码,提升开发效率与质量。
- 复杂系统架构能力:能够将DDD与SaaS、PaaS结合,设计可扩展、可演进的软件架构。
- 实战经验积累:通过真实商业案例,积累DSL驱动DDD的落地经验,解决复杂软件开发之痛。
📖 Book Introduction
编辑推荐
1)领域驱动设计里程碑之作,资深技术专家兼技术管理者二十年工作经验结晶
(2)深度解读DDD思想,揭示使用 DSL实现DDD快速落地的方法与技巧,缓解复杂软件开发之痛
内容简介
本书是拥有二十年商业软件开发经验及十年技术管理经验的资深技术专家呕心沥血之作,也是目前市场上少有的阐述如何通过使用领域专用语言(DSL)实现领域驱动设计(DDD)的图书。
书中首先带领读者重温DDD在战术设计层面及战略设计层面上的部分重要概念,并简要介绍了自DDD社区兴起的一些软件架构模式。然后阐述如何设计一门DDD原生的DSL,包括这个DSL的规范支持哪些特性、如何帮助团队描述领域模型的方方面面、这些特性的选择基于何种考量等。然后在此基础上详细讲解了如何使用技术工具将描述领域模型的DSL文档直接转化为可以工作的软件代码,在这个过程中结合诸多来自商业软件开发工作中的真实案例,展示并分析了大量的关键代码,让读者可以深入地了解制造那些基于DSL的DDD技术工具的秘密。之后讲述了一些建模案例,并探讨了一些与DDD相关的其他话题,对读者开拓技术思维、更深刻地理解DDD有所助益。
作者简介
杨捷锋,曾就职于南开戈德集团、普天集团、通路快建等公司。曾作为独立技术顾问为海尔集团、沈阳飞机工业集团、上广电NEC、天马微电子等企业提供软件开发与技术咨询服务。目前在一家电商创业公司担任技术负责人。有多个大型企业应用软件的分析建模经验,以及大型开发框架(ORM、IoC等)的架构经验。多年来一直未脱离软件开发一线工作,对软件系统分析、数据建模、领域驱动设计、项目管理略有心得。
精彩书评
开发软件困难的部分其实是建立对软件所服务的领域的认知,即“领域建模”。那么应该构建何种风格的领域模型以及如何描述所构造的模型呢?杨捷锋向我们强烈推荐DDD以及DSL——以“领域驱动设计”的方法构造 DDD 风格的领域模型,并以DSL来描述它们。作者以近20年的编码经验练就的深厚功力,在书中写下DDD实践的思考及建议,十分精彩,令人击节。
—— 郝培强(Tinyfool) 英语轻松读创始人
技术的本质是为了业务创新或者解决业务中的各种问题。领域驱动设计(DDD)是架构设计中的经典思想,经典不会过时。杨捷锋的DSL实践给我们带来了DDD领域的更多经验与思考。
—— 杨卫华(Tim Yang) Westar区块链实验室创始人、中国计算机学会TF架构SIG主席
传统企业的数字化不仅需要推动互联网发展的高并发、大数据等新技术,更需要构建领域模型,以支持复杂的企业业务的持续演进。如何才能实现?良方是DDD。但是,技术人员没有一定的经验,运用DDD时很容易犯错误。本书从道、术、工具等多个层次阐述DDD。需要举例说明时,作者不满足于使用简单的例子,而是拿出工作中碰到的经典案例来讲解,更有结合DDD对软件SaaS化及PaaS化的思考。本书值得借鉴与研读。
—— 刘建 蓝图移动首席架构师、前蓝信技术合伙人
为了避免业务突变而燃尽利润,我们需要构建对领域的深度认知模型。但模型描述标准化、代码生成等难题多年来横亘在DDD前进的道路上。Eric Evans早就说过,DSL会是DDD的下一大步,现在我们终于有了DDDML!基于DDDML的解决方案已经在电商行业实践,现在更剑指构建云端FaaS平台的“小目标”——具有业务价值的代码应该用简单的函数来写。诸多细分领域的DSL(如BPMN 2.0)已然大获成功,相信DDDML亦当如此。
—— 胡天成 原PFU(富士通集团)技术顾问
领域驱动设计是个美妙的愿景。长期以来,虽有不少技术管理者对各种先进的概念和方法论充满激情,但像作者这样多年在工作中坚持实践领域驱动设计的,并不多见。作者早年主要为海尔、宝洁、沈飞、朗讯等传统企业提供技术服务,近几年又投身于互联网行业,经验丰富。本书不囿于管理者的视角,更从工程师的角度直指领域驱动设计落地的关键,书中充满操作性极强的建议,直至代码级的剖析讲解,值得拥有。
—— 杨彬 海贝易通董事长、前朗讯研发总监
📑 Table of Contents
- DDD关键概念:自顶而下、逐步求精
- 战术设计:实体、值对象与聚合
- 战略设计:限界上下文与上下文映射
- 软件架构模式与DDD的融合
- 设计DDD原生的DSL:规范与特性
- DSL到代码:技术工具与实现原理
- 商业案例:DSL驱动DDD实战剖析
- 建模案例:从领域分析到代码生成
- DDD与SaaS、PaaS的架构思考
- DDD相关话题与未来展望