• 悟道领域驱动设计
21年品牌 40万+商家 超1.5亿件商品

悟道领域驱动设计

新华书店全新正版,极速发货,假一罚十,可开电子发票,请放心购买。

75.72 6.4折 118 全新

库存13件

天津西青
认证卖家担保交易快速发货售后保障

作者覃玉杰 著

出版社电子工业出版社

ISBN9787121489792

出版时间2024-10

装帧平装

开本其他

定价118元

货号1203437220

上书时间2024-11-15

果然是好书店

三年老店
已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
目录
第1 章   领域驱动设计预热 / 1
1.1   初步理解领域驱动设计 / 1
1.1.1   领域驱动设计的简史 / 1
1.1.2   领域驱动设计的基本内容 / 1
1.1.3   领域驱动设计的意义 / 3
1.1.4   领域驱动设计的困境 / 5
1.2   如何学习领域驱动设计 / 6
1.2.1   学习难点 / 6
1.2.2   学习路线 / 6
1.3   领域驱动设计常见争议探讨 / 8
1.3.1   领域驱动设计的适用范围 / 8
1.3.2   贫血模型与充血模型的选择 / 10
1.3.3   领域驱动设计落地的认知差异 / 10
1.3.4   领域驱动设计的技术选型 / 11
1.3.5   领域驱动设计与面向对象编程 / 12
1.3.6   不要过度迷信领域驱动设计 / 13
第2 章   应用架构 / 14
2.1   贫血模型和充血模型 / 14
2.1.1   对象的属性和行为 / 14
2.1.2   贫血模型 / 14
2.1.3   充血模型 / 15
2.1.4   领域驱动设计对模型的要求 / 15
2.2   经典贫血三层架构 / 16
2.2.1   解读贫血三层架构 / 16
2.2.2   贫血三层架构的优点 / 17
2.2.3   贫血三层架构的问题 / 17
2.3   DDD 常见的应用架构 / 18
2.3.1   经典的四层架构 / 18
2.3.2   端口和适配器架构 / 19
2.4   应用架构演化 / 22
2.4.1   合并数据模型 / 22
2.4.2   抽取领域模型 / 22
2.4.3   维护领域对象生命周期 / 24
2.4.4   泛化抽象 / 26
2.4.5   完整的项目结构 / 28
2.5   领域对象的生命周期 / 29
2.5.1   领域对象的生命周期介绍 / 29
2.5.2   领域对象的创建过程 / 29
2.5.3   领域对象的保存过程 / 31
2.5.4   领域对象的重建过程 / 31
2.5.5   领域对象的归档过程 / 33
2.6   应用架构的类型变化链 / 33
2.6.1   应用架构各层的对象类型 / 33
2.6.2   查询过程的类型变化 / 36
2.6.3   创建过程的类型转换 / 40
2.6.4   修改过程的类型转换 / 43
第3 章   实体和值对象 / 45
3.1   实体 / 45
3.1.1   实体的概念 / 45
3.1.2   实体的建模 / 45
3.1.3   实体的创建 / 48
3.1.4   实体的重建 / 48
3.2   值对象 / 49
3.2.1   值对象的概念 / 49
3.2.2   值对象的实现 / 49
3.2.3   值对象的建模 / 50
3.2.4   无副作用的值对象方法 / 51
3.2.5   值对象的创建 / 52
3.2.6   Domain Primitive / 53
3.3   无副作用函数 / 54
3.3.1   无副作用函数的定义 / 54
3.3.2   无副作用函数的实现 / 56
第4 章   聚合与聚合根 / 57
4.1   领域模型相关概念梳理 / 57
4.2   聚合与聚合根的定义 / 58
4.3   聚合与聚合根的作用 / 59
4.4   聚合设计的原则 / 62
4.4.1   设计小而全的聚合 / 62
4.4.2   通过唯一标识引用其他聚合根 / 62
4.4.3   一个事务只更新单个聚合 / 63
4.4.4   跨聚合采用最终一致性 / 64
4.5   聚合的拆分 / 64
4.5.1   第一次拆分 / 65
4.5.2   第二次拆分 / 65
4.6   聚合根的配套组件 / 66
第5 章   Factory、Repository 和领域服务 / 67
5.1   Factory / 67
5.1.1   Factory 的定义 / 67
5.1.2   Factory 的实现 / 67
5.1.3   Factory 的职责辨析 / 68
5.2   Repository / 68
5.2.1   Repository 的定义 / 68
5.2.2   Repository 的实现 / 68
5.2.3   Repository 实战 / 69
5.3   领域服务 / 79
5.3.1   领域服务的基本概念 / 79
5.3.2   领域服务的特点 / 80
5.3.3   领域服务实战 / 80
5.3.4   领域服务与应用服务的区别 / 81
第6 章   设计模式 / 82
6.1   设计模式与领域驱动设计 / 82
6.2   责任链模式 / 82
6.2.1   责任链模式的定义 / 82
6.2.2   责任链的案例代码 / 83
6.2.3   责任链框架?模式 / 89
6.2.4   在领域驱动设计中使用责任链
6.3   策略模式 / 90
6.3.1   策略模式的定义 / 90
6.3.2   策略模式的案例代码 / 91
6.3.3   在领域驱动设计中使用策略
模式 / 92
6.4   桥接模式 / 96
6.4.1   桥接模式的定义 / 96
6.4.2   桥接模式的案例代码 / 97
6.4.3   在领域驱动设计中使用桥接
模式 / 100
6.5   规约模式 / 106
6.5.1   规约模式的定义 / 106
6.5.2   规约模式的应用场景 / 107
6.5.3   规约模式的案例代码 / 107
6.5.4   在领域驱动设计中使用规约模式 / 111
6.5.5   规约模式的使用误区 / 112
第7 章   防腐层 / 113
7.1   防腐层的概念理解 / 113
7.2   防腐层的实现方案 / 115
7.2.1   适配器模式的定义 / 115
7.2.2   适配器模式的实现 / 116
7.2.3   使用适配器模式实现防腐层 / 118
7.3   防腐层的实现要点总结 / 121
7.3.1   封装技术细节 / 121
7.3.2   尽量简单且稳定 / 121
7.3.3   入参和出参为本地上下文值对象或基本数据类型 / 122
7.3.4   将外部异常转为本地异常 / 122
7.3.5   将外部错误码转为本地异常 / 123
7.3.6   按需返回 / 123
7.3.7   不在实体和值对象中调用防腐层 / 124
第8 章   领域事件 / 126
8.1   幂等设计 / 126
8.1.1   幂等设计的定义 / 126
8.1.2   写操作的幂等性 / 126
8.1.3   幂等设计的实现方案 / 127
8.2   领域事件建模 / 130
8.2.1   领域事件的概念 / 130
8.2.2   领域事件的应用 / 131
8.2.3   领域事件的消息体 / 131
8.2.4   领域事件的建模实现 / 132
8.3   领域事件生成 / 132
8.3.1   应用层创建领域事件 / 133
8.3.2   聚合根创建领域事件 / 134
8.3.3   领域事件生成总结 / 137
8.4   领域事件发布 / 137
8.4.1   事件存储 / 137
8.4.2   可靠地发布领域事件 / 139
8.5   领域事件订阅 / 142
8.5.1   应用层 / 142
8.5.2   领域事件订阅者案例代码 / 143
第9 章   CQRS / 144
9.1   引入CQRS 的契机 / 144
9.2   CQRS 概念理解 / 145
9.3   CQRS 中的对象命名 / 146
9.4   实现CQRS / 147
9.4.1   方法级的CQRS / 147
9.4.2   相同数据源的CQRS / 148
9.4.3   异构数据源的CQRS / 151
9.5   CQRS 的优缺点 / 153
9.5.1   CQRS 的优点 / 153
9.5.2   CQRS 的缺点 / 154
第10 章   事件溯源 / 155
10.1   事件溯源概念理解 / 155
10.2   第一种事件溯源实现方案 / 157
10.2.1   整体方案介绍 / 157
10.2.2   组件调整总结 / 164
10.2.3   案例运行展示 / 167
10.3   第二种事件溯源实现方案 / 170
10.3.1   整体方案介绍 / 170
10.3.2   组件调整总结 / 172
10.3.3   案例运行展示 / 175
10.4   第三种事件溯源实现方案 / 177
10.4.1   拉链表介绍 / 177
10.4.2   整体方案介绍 / 178
10.4.3   组件调整总结 / 182
10.4.4   案例运行展示 / 182
第11 章   一致性 / 185
11.1   聚合内事务实现 / 185
11.1.1   聚合内事务的实现误区 / 185
11.1.2   聚合内事务的实现思路 / 186
11.1.3   乐观锁 / 187
11.1.4   数据库读写的性能思考 / 192
11.2   跨聚合事务实现 / 193
11.2.1   跨聚合事务的实现思路 / 193
11.2.2   二阶段提交 / 193
11.2.3   本地消息表 / 197
11.2.4   最大努力通知 / 197
11.2.5   TCC 事务方案 / 198
11.2.6   Saga 事务方案 / 207
11.2.7   跨聚合事务的方案总结 / 219
第12 章   战略设计 / 220
12.1   战略设计概述 / 220
12.1.1   战略设计的概念 / 220
12.1.2   战略设计的误区 / 221
12.2   通用语言 / 221
12.2.1   通用语言的概念 / 221
12.2.2   通用语言的构建 / 222
12.2.3   通用语言的维护 / 222
12.3   限界上下文 / 223
12.3.1   限界上下文的定义 / 223
12.3.2   上下文划分依据 / 223
12.3.3   划分限界上下文的实践经验 / 224
12.4   上下文映射 / 224
12.4.1   上下文映射的概念 / 224
12.4.2   上下文映射的类型 / 225
12.5   子域 / 227
12.5.1   子域的定义 / 227
12.5.2   子域的类型 / 227
12.5.3   子域划分 / 229
12.5.4   子域的演化 / 231
12.5.5   子域思想的应用 / 233
第13 章   领域建模 / 237
13.1   领域建模的基本理解 / 237
13.2   事件风暴法介绍 / 237
13.2.1   建模前准备 / 237
13.2.2   核心概念 / 238
13.2.3   建模过程 / 240
13.3   事件风暴法建模案例实战 / 244
13.3.1   案例描述 / 244
13.3.2   案例建模过程 / 245
第14 章   研发效能 / 252
14.1   脚手架 / 252
14.1.1   Maven Archetype 介绍 / 252
14.1.2   ddd-archetype 的使用 / 253
14.2   编码效率提升 / 260
14.2.1   DDD 编码效率遇到的困境 / 260
14.2.2   Graceful Repsonse / 260
14.2.3   代码生成器 / 266
14.2.4   对象转换工具 / 267
14.3   代码静态分析工具 / 268
14.3.1   SpotBugs / 269
14.3.2   PMD / 271
14.3.3   CheckStyle / 272
14.3.4   SonarLint / 272
14.4   低代码 / 274
14.4.1   低代码介绍 / 274
14.4.2   低代码平台核心流程 / 274
14.4.3   低代码核心技术 / 275
14.4.4   低代码反思 / 278
14.5   持续集成/ 持续交付 / 281
14.5.1   概念理解 / 281
14.5.2   实现方案 / 282
14.5.3   持续集成与领域驱动设计 / 282
第15 章   测试驱动开发 / 283
15.1   TDD 基本理解 / 283
15.2   TDD 常见的误区 / 284
15.3   TDD 技术选型 / 286
15.4   TDD 案例实战 / 287
15.4.1   奇怪的计算器 / 287
15.4.2   贫血模型三层架构的TDD 实战 / 297
15.4.3   DDD 下的TDD 实战 / 304
第16 章   敏捷开发 / 309
16.1   敏捷开发介绍 / 309
16.1.1   敏捷开发价值观 / 309
16.1.2   敏捷开发十二个原则 / 310
16.2   敏捷开发常用实践方法 / 312
16.2.1   Scrum / 312
16.2.2   看板 / 314
16.2.3   极限编程 / 315
16.3   DDD+ 敏捷开发 / 318
16.3.1   以通用语言作为互动的基础 / 318
16.3.2   从最小可行产品开始迭代 / 319
16.3.3   简化文档 / 319
16.3.4   使用子域的思想指导确定需求
优先级 / 319
16.3.5   持续反馈和改进 / 319
第17 章   架构可视化 / 320
17.1   架构可视化与C4 模型 / 320
17.1.1   系统上下文图 / 322
17.1.2   容器图 / 323
17.1.3   组件图 / 324
17.1.4   代码图 / 325
17.1.5   系统全景图 / 325
17.1.6   动态图 / 326
17.1.7   部署图 / 327
17.2   C4 模型规范和review
checklist / 329
17.2.1   C4 模型规范 / 329
17.2.2   review checklist / 329
17.3   使用文本绘制C4 架构图 / 329
17.3.1   文本绘图工具选型 / 329
17.3.2   VS Code 下C4-PlantUML 的
安装 / 330
17.3.3   IntelliJ Idea 下C4-PlantUML 的
安装 / 332
17.3.4   案例实战及C4-PlantUML 语法
介绍 / 332
17.4   使用绘图工具绘制C4 架构图 / 338
17.4.1   绘图工具的选择 / 338
17.4.2   架构图绘制实战 / 338
17.4.3   架构图绘制心得 / 342
第18 章   使用DDD 进行系统重构 / 343
18.1   系统重构的基本了解 / 343
18.2   系统重构的模式 / 343
18.2.1   修缮者模式 / 344
18.2.2   绞杀者模式 / 345
18.2.3   推翻重建模式 / 345
18.3   系统重构的基本流程 / 346
18.3.1   启动 / 346
18.3.2   规划 / 349
18.3.3   执行 / 351
18.3.4   监控 / 356
18.3.5   收尾 / 357
第19 章   布道领域驱动设计 / 358
19.1   为团队引入领域驱动设计 / 358
19.2   编码指南 / 360
19.2.1   核心概念 / 360
19.2.2   应用架构 / 361
19.2.3   事务控制 / 

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP