注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络软件与程序设计其他编程语言/工具领域驱动设计:业务建模与架构实践

领域驱动设计:业务建模与架构实践

领域驱动设计:业务建模与架构实践

定 价:¥109.00

作 者: 王红亮
出版社: 机械工业出版社
丛编项:
标 签: 暂缺

购买这本书可以去


ISBN: 9787111737544 出版时间: 2023-11-01 包装: 平装-胶订
开本: 16开 页数: 字数:  

内容简介

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

作者简介

暂缺《领域驱动设计:业务建模与架构实践》作者简介

图书目录

目 录 Contents 
前言
第1章 DDD的基本原则与价值分析1
1.1 DDD的初心1
1.1.1 软件项目成败的关键1
1.1.2 两个亟须验证的事实3
1.2 DDD的基本原则6
1.2.1 DDD的两个基本原则7
1.2.2 原则的底层逻辑10
1.3 DDD的价值分析12
1.3.1 复杂度控制12
1.3.2 架构原则16
1.3.3 团队协作20
1.4 关于DDD原则的案例23
第2章 DDD落地难点分析35
2.1 DDD的适用范围35
2.1.1 领域特性36
2.1.2 团队成熟度38
2.1.3 适用性评分表39
2.2 5个常见误区39
2.3 文化的变革44
2.3.1 领域专家的边界44
2.3.2 设计师的锤子46
2.3.3 开发人员的轮子47
2.4 团队的挑战48
2.4.1 管理者的责任48
2.4.2 开发团队的意识和技能50
2.4.3 角色重新定位51
2.5 测试、过程和架构的佳搭档52
2.5.1 测试的佳搭档:TDD和
   单元测试52
2.5.2 过程的佳搭档:敏捷过程
   和DevOps54
2.5.3 架构的佳搭档:六边形、
   洋葱和分层架构56
第3章 DDD成熟度模型59
3.1 成熟度模型的目的及特殊性59
3.2 5个度量维度60
3.3 3级成熟度模型63
第4章 模型的要素—用例、
    视图和构造块68
4.1 模型的构建步骤68
4.2 模型的场景:用例69
4.2.1 用例的定义69
4.2.2 用例的目的70
4.2.3 发现用例72
4.2.4 用例的编写73
4.3 模型的数据:类图76
4.3.1 属性77
4.3.2 方法78
4.3.3 注释、约束和关键字79
4.3.4 依赖和限定关联80
4.3.5 聚合与组合82
4.4 模型的行为:交互图83
4.4.1 时序图84
4.4.2 协作图89
4.4.3 交互图与类图的关系91
4.5 模型的变化:操作契约92
4.5.1 作用93
4.5.2 后置条件94
4.5.3 准则94
4.6 模型的构造块:实体、值对象、
   领域服务95
4.6.1 实体95
4.6.2 值对象99
4.6.3 实体与值对象的比较103
4.6.4 领域服务105
第5章 从语言到模型—基础
  模型构建108
5.1 设计目标108
5.2 设计之前的准备工作110
5.2.1 语言110
5.2.2 角色111
5.2.3 沟通111
5.2.4 方法113
5.2.5 工具113
5.2.6 时间115
5.3 领域模型的构建115
5.3.1 发掘领域概念116
5.3.2 创建关联118
5.3.3 定义属性123
5.3.4 分配职责125
5.3.5 触发事件128
5.3.6 处理异常134
5.4 典型的领域逻辑建模137
5.4.1 规则与约束137
5.4.2 流程与分支140
5.4.3 验证与筛选142
5.4.4 算法与计算144
5.4.5 时间与空间146
5.4.6 有状态与无状态149
5.4.7 同步与异步150
5.5 典型案例151
5.5.1 案例1:在线购物网站152
5.5.2 案例2:汽车租赁系统153
5.5.3 案例3:银行系统154
第6章 精炼模型—深入模型设计156
6.1 模型引力场:聚合156
6.1.1 聚合的定义及作用157
6.1.2 聚合规则158
6.1.3 聚合设计法则158
6.1.4 实现方法161
6.2 模型装配线:工厂163
6.2.1 为什么需要工厂163
6.2.2 厂址选择169
6.3 模型货架:存储库171
6.3.1 为什么需要存储库171
6.3.2 存储库接口175
6.3.3 存储库与工厂的区别176
6.3.4 存储库与数据访问对象的区别177
6.3.5 存储库实现的注意事项177
6.4 富二代的烦恼:基类与继承178
6.4.1 抽象、泛化与DDD178
6.4.2 通用语言与基类179
6.4.3 为多态去继承181
6.4.4 合格的子类、自然的继承关系:
   Liskov原则182
6.4.5 抽象类与接口的选择183
6.5 模型质量:优秀的开发组件 184
6.5.1 精心设计领域模型的特征184
6.5.2 模型设计的基本原则186
6.5.3 为扩展性而设计188
第7章 分而治之—上下文、
    模块和子域191
7.1 分离用例、模型和团队:上下文191
7.1.1 什么是上下文191
7.1.2 为什么需要上下文193
7.1.3 上下文的识别方法195
7.1.4 识别上下文的步骤199
7.1.5 同一上下文工作法200
7.1.6 跨上下文团队工作法202
7.2 重用性和稳定性:模块207
7.2.1 包的内聚性原则207
7.2.2 包的耦合性原则209
7.3 区别特殊性与一般性:子域211
7.3.1 核心竞争力:核心域211
7.3.2 周边业务:支撑域215
7.3.3 通用能力:通用域215
7.4 上下文、模块和子域之间的关系216
7.4.1 上下文和子域的关系216
7.4.2 上下文和模块的关系216
7.4.3 子域和模块的关系217
第8章 关键细节—从模型到代码218
8.1 DDD 中的代码要求

本目录推荐