首页>参考读物>计算机科学与技术>软件与程序设计

领域驱动设计:业务建模与架构实践
作者 : 王红亮 著
出版日期 : 2023-11-08
ISBN : 978-7-111-73754-4
定价 : 109.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 :
开本 : 16
原书名 :
原出版社:
属性分类: 店面
包含CD : 无CD
绝版 : 未绝版
图书简介

内容简介
这是一本从业务和架构视角讲解DDD的基本原则、底层逻辑、落地难点、落地方法和进阶技巧的实战性著作。
DDD的理论体系复杂,学习和实践门槛较高,已有的关于DDD的著作或多或少存在理论描述难理解、案例示范难落地等问题,阻碍了DDD在实践中的应用。本书作者有20余年的软件研发经验,对DDD有深刻的理解,深谙DDD实践过程中的痛点,他在这本书中高屋建瓴、化繁为简,让读者有拨云见雾之感。
理论部分(第1~3章)
从软件工程的基本思想出发,首先分析了DDD产生的原因,并由此推论出DDD的基本原则,这些内容是学习本书的基础;紧接着分析了DDD落地的难点,帮助读者扫清障碍;然后提炼出了DDD的成熟度模型,包括DDD的战略、战术和衡量指标。这些内容极具针对性和独创性,是研发团队必须掌握的,也是目前同类书中很少讲的。
实战部分(第4~10章)
从业务建模和架构的角度切入,首先用搭积木的方式讲解和演示了DDD项目由简易到复杂的落地过程,包含大量的业务建模场景和案例,涉及如何应用通用语言、如何建模领域逻辑、如何应用上下文和子域切分系统以及如何保持语言、模型、代码的一致性等重要内容;然后讲解了如何将各种设计模式应用到DDD中,以及如何设计出能让DDD更好落地的系统架构。这些内容兼具实操性和思想性,充满经验和智慧,在同类书中同样也不多见。

图书特色

研发团队落地DDD标准指导书,腾讯、华为、北交大等企业界和学术界多位专家力荐
资深软件研发专家20余年经验总结,拨云见雾,DDD不再难理解;化繁为简,DDD不再难落地

上架指导

计算机/软件架构

封底文字

随着ChatGPT等AI技术的崛起,程序员的工作会逐渐被AI代替。在这样的大背景下,程序员们是时候学点业务建模和架构技术了,本书正好可以作为你点亮新技能树的起点。
——张正烜 北斗星通集团首席科学家兼副总裁

本书将带领读者重新认识领域驱动设计方法论,帮助他们将对业务领域的理解融入软件设计和开发的过程中。本书聚焦在将复杂业务逻辑与问题域进行高效建模,能帮助开发者将系统设计与业务模型一致化。
——李国平 百望云数字经济与金融科技研究院院长

改变一个程序员的职业发展轨迹的可能性有很多,恰逢其时地读到了一本有价值的书就可能是其中一种。本书值得反复研读,它可以让你的能力得到升华,助你脱颖而出。
——邓宏 国际数字化能力基金会(IFDC)全球贡献者/趋势引领创始人

领域驱动设计是程序员必须掌握的技能之一。本书将带领读者深入了解DDD的核心概念和实践技巧,无论是一名新手还是经验丰富的老手,都能从中受益。
——茹炳晟 腾讯 Tech Lead/中国计算机学会TF研发效能SIG主席 

本书详细介绍了领域驱动设计的概念、原则和实践方法,并提供了大量的案例,能帮助读者更好地理解和应用这些知识。无论你是程序员、架构师还是其他IT从业者,本书都将为你提供有价值的参考和指导。
——王立杰 IDCF首席敏捷创新教练、华为云专家

先进的软件系统源于合理、高效的建模和架构。本书是作者经验的浓缩,在以往的DDD书籍中是看不到的,研发团队完全可以按图索骥,快速构建领域模型,具有很高的价值和实操性。
——谢勇 阿里云前资深业务专家

本书融入了作者在DDD领域丰富的经验,为DDD的各个步骤提供了详尽指导,比如DDD适用评分表、DDD成熟度度量表、典型领域规则的建模方法、设计模式的适用场景表等。兼具思想性和实操性,是一本真正的“落地”之作。
——冀振燕 北京交通大学软件学院教授、博导

之前和红亮一起在华为做过微服务改造项目,领域驱动的思想就是我们划分微服务的思想利器。这些年,他在这个领域继续深耕,写出了这样一本凝聚经验、心血和巧思的力作。
——王刚 玉湖冷链(中国)有限公司数字科技中心总经理

作者简介

王红亮 著:王红亮
资深软件开发专家,有超过20年的产品研发经验。现就职于亚信云,担任研发总监;曾就职微软、中信科技等企业。作为技术领头人,成功研发和交付多款互联网商业软件,如多云管理平台SmartCloud,中信产业互联网平台等。DDD领域的资深专家,对DDD有非常深刻的理解。此外,他在研发管理、架构设计、云计算等领域也积累了大量的一线实战经验
《微软软件研发的奥秘MSF》译者,企业上云宝典《云鉴》作者之一,北京交通大学软件学院优秀企业讲师。

图书目录

《DDD落地方法与实践——构建有生命的领域模型》目录

第一部分 价值目标
第1章 领域驱动设计底层逻辑
1.1 那些变与不变的——从架构发展史看软件开发的核心要素
1.2 领域驱动是解决复杂性的有效方法
1.2.1 复杂性与熵增定律(熵增事关项目成败)
1.2.2 可构建性与团队的熵减定律(提高团队的熵耐受力的最佳实践)
1.3 领域驱动技术生态
1.3.1 与面向对象的关系
1.3.2 与面向服务架构(SOA)的关系
1.3.3 与其他架构方法的关系
第2章 价值、目标和愿景
2.1 不再迷茫——我们终将达到的愿景,理想团队是如何工作的(真实团队场景案例描述)
2.2 价值一:通用语言——不让巴别塔的悲剧重演
2.3 价值二:有生命的领域模型——抽象现实也抽象未来
2.4 价值三:健壮的代码——开放的需求、封闭的代码
2.5 价值四:有效的集成方法——稳定的环境才有稳定的效率

第二部分 方法实践
第3章 领域发掘方法
3.1 与领域专家一起工作
3.2 知识提炼与写作
3.3 通过用户故事地图发掘领域
3.4 通过实践风暴发掘领域
3.5 专注核心域
第4章 通用语言构建术
4.1 团队要知道的——领域模型是为产品和技术共用的
4.2 产品要知道的——领域模型是客观世界的镜像
4.2 架构师要知道的——领域模型的设计原则
4.3 程序员要知道的——原则与自由度
第5章 领域模型家族图谱和高阶视图
3.1 各类领域模型关系层次图及其隐喻
3.2 值对象
3.3 实体
3.4 领域服务
3.5 领域事件
3.6 聚合设计
3.7 工厂和存储库

第三部分 有生命的领域模型
第6章 领域模型设计原则
6.1 精心设计的领域模型所具备的品质
6.1.1 简单性
6.1.2 取舍和平衡
6.1.3 考虑业务未来发展
6.1.4 良好的集成性
6.1.5 内部一致性
6.2 模型设计基本原则
6.2.1 上下文驱动原则
6.2.2 低门槛原则
6.2.3 自我说明原则
6.2.4 分层原则
6.3 聚合设计原则

第7章 典型需求场景下的领域模型
7.1 可装配的业务逻辑——有商业策略(Strategy)的模型
7.2 从一颗树到森林的逻辑——会组合(Composite)的模型
7.3 给用户的简单之美——有排面(Facade)的模型
7.4 事件的追随者——会观察(Oberver)的模型
7.5 被误解的屠龙之技——隐藏复杂性的利器中介者模式模型
7.6 …..(会再补充3-5个)
7.7 小结:需求与模型矩阵

第8章 模型的生命周期管理
8.1 智能工厂——关于实体的生命周期
8.2 智慧仓库——不只是存储,Repository 构建模式
8.3 灵魂传送——不同上下文中模型的重构和Adapter模式

第9章 动态的模型
8.1 动起来的模型——有限状态机模型
8.2 事件的管家——领域事件的应用与管理框架

第10章 应用、微服务与领域模型
9.1 微服务的特征的内在要求
9.2 微服务与领域模型的关系
9.3 如何根据聚合设计划分微服务
9.4 微服务拆分案例分析

第四部分 代码案例分析
第11章 一个业务管理系统的服务、模型与核心域实战
第12章 需求场景与智能模型的案例与总结

教学资源推荐
作者: Behrouz A. Forouzan;Richard F. Gilberg
作者: 凌云 谢满德 陈志贤 吴海燕 编著
作者: 【美】梁勇(Y.Daniel Liang) 著
作者: Kenneth Barclay;John Savage
参考读物推荐