人民邮电出版社有限公司店铺主页二维码
人民邮电出版社有限公司 微信认证
人民邮电出版社微店,为您提供最全面,最专业的一站式购书服务
微信扫描二维码,访问我们的微信店铺
你可以使用微信联系我们,随时随地的购物、客服咨询、查询订单和物流...

解构领域驱动设计

112.40
运费: ¥ 0.00-20.00
解构领域驱动设计 商品图0
解构领域驱动设计 商品图1
解构领域驱动设计 商品图2
解构领域驱动设计 商品图3
解构领域驱动设计 商品缩略图0 解构领域驱动设计 商品缩略图1 解构领域驱动设计 商品缩略图2 解构领域驱动设计 商品缩略图3

商品详情

书名:解构领域驱动设计  
定价:149.9  
ISBN:9787115566232  
作者:张逸  
版次:第1版  
出版时间:2021-09  
内容提要:  
本书全面阐释了领域驱动设计(domain-driven design,DDD)的知识体系,内容覆盖领域驱动设计的主要模式与主流方法,并在此基础上提出“领域驱动设计统一过程”(domain-driven design unified process,DDDUP),将整个软件构建过程划分为全局分析、架构映射和领域建模3个阶段。除给出诸多案例来阐释领域驱动设计统一过程中的方法与模式之外,本书还通过一个真实而完整的案例全面展现了如何进行领域驱动设计统一过程的实施和落地。为了更好地运用领域驱动设计统一过程,本书还开创性地引入了业务服务、菱形对称架构、领域驱动架构、服务驱动设计等方法与模式,总结了领域驱动设计能力评估模型与参考过程模型。本书提出的一整套方法体系已在多个项目中推广和落地。 本书适合希望领会软件架构本质、提高软件架构能力的软件架构师,希望提高领域建模能力、打磨软件设计能力的开发人员,希望掌握业务分析与建模方法的业务分析人员,希望学习领域驱动设计并将其运用到项目中的软件行业从业人员阅读参考。  



作者简介:  
张逸,高质量编码实践者、领域驱动设计布道师、微服务系统架构师、大数据平台架构师、敏捷转型咨询师,曾就职于中兴通讯、惠普、思特沃克(ThoughtWorks)、民航(成都)信息等企业,致力于大型软件企业的分布式架构设计、领域驱动设计、大数据平台架构设计以及垂直领域的企业架构规划与建设,并为国内外多家企业提供技术培训与咨询服务。  

目录:  
第 一篇 开篇  
第 1章 软件复杂度剖析 2  
1.1 什么是复杂系统 2  
1.2 理解能力 4  
1.2.1 规模 4  
1.2.2 结构 6  
1.3 预测能力 9  
1.3.1 过度设计 9  
1.3.2 设计不足 11  
第 2章 领域驱动设计概览 13  
2.1 领域驱动设计的基本概念 14  
2.1.1 领域驱动设计元模型 14  
2.1.2 问题空间和解空间 16  
2.1.3 战略设计和战术设计 17  
2.1.4 领域模型驱动设计 18  
2.2 领域驱动设计过程 19  
2.3 控制软件复杂度 21  
2.3.1 控制规模 21  
2.3.2 清晰结构 23  
2.3.3 响应变化 25  
2.4 冷静认识 28  
第3章 领域驱动设计统一过程 29  
3.1 领域驱动设计现存的不足 30  
3.2 领域驱动设计统一过程 31  
3.2.1 统一过程的二维模型 31  
3.2.2 统一过程的动态结构 33  
3.2.3 统一过程的静态结构 36  

*二篇 全局分析  
第4章 问题空间探索 40  
4.1 全局分析的5W模型 40  
4.2 高效沟通 42  
4.2.1 达成共识 42  
4.2.2 统一语言 44  
4.3 高效协作 49  
4.3.1 商业模式画布 49  
4.3.2 业务流程图 51  
4.3.3 服务蓝图 52  
4.3.4 用例图 54  
4.3.5 事件风暴 55  
4.3.6 学习循环 56  
第5章 价值需求分析 57  
5.1 识别利益相关者 57  
5.1.1 什么是利益相关者 57  
5.1.2 利益相关者的分类 58  
5.2 明确系统愿景 61  
5.3 确定系统范围 62  
5.4 使用商业模式画布 64  
第6章 业务需求分析 66  
6.1 业务流程 66  
6.1.1 业务流程的关键点 67  
6.1.2 业务流程的分类 67  
6.1.3 业务流程的呈现 67  
6.2 业务场景 71  
6.2.1 业务场景的5W模型 71  
6.2.2 业务服务 72  
6.2.3 业务服务的识别 75  
6.2.4 业务服务的呈现 76  
6.3 子领域 77  
6.3.1 子领域元模型 78  
6.3.2 子领域的划分 79  
6.3.3 子领域映射图 80  

第三篇 架构映射  
第7章 同构系统 82  
7.1 概念层次的同构系统 83  
7.1.1 架构的定义 83  
7.1.2 架构方案的推演 84  
7.1.3 领域驱动架构风格 86  
7.2 设计层次的同构系统 87  
7.3 管理层次的同构系统 89  
7.3.1 组建团队的原则 89  
7.3.2 康威定律的运用 91  
第8章 系统上下文 93  
8.1 “系统内”和“系统外” 93  
8.2 系统上下文 94  
8.2.1 伴生系统 94  
8.2.2 系统上下文图 95  
8.3 系统上下文的确定 95  
8.3.1 参考价值需求 95  
8.3.2 业务序列图 96  
第9章 限界上下文 98  
9.1 限界上下文的定义 98  
9.2 限界上下文的特征 101  
9.2.1 领域模型的知识语境 101  
9.2.2 业务能力的纵向切分 103  
9.2.3 自治的架构单元 105  
9.2.4 案例:供应链的商品模型 106  
9.3 限界上下文的识别 111  
9.3.1 业务维度 111  
9.3.2 验证原则 115  
9.3.3 管理维度 118  
9.3.4 技术维度 120  
第 10章 上下文映射 124  
10.1 上下文映射概述 124  
10.2 通信集成模式 126  
10.2.1 防腐层 126  
10.2.2 开放主机服务 128  
10.2.3 发布语言 129  
10.2.4 共享内核 131  
10.3 团队协作模式 132  
10.3.1 合作者 133  
10.3.2 客户方/供应方 133  
10.3.3 发布者/订阅者 135  
10.3.4 分离方式 136  
10.3.5 遵奉者 137  
10.4 上下文映射的设计误区 138  
10.4.1 语义关系形成的误区 138  
10.4.2 对象模型形成的误区 139  
10.5 上下文映射的确定 140  
10.5.1 任务分解的影响 140  
10.5.2 呈现上下文映射 143  
第 11章 服务契约设计 145  
11.1 消息契约 145  
11.1.1 消息契约模型 145  
11.1.2 消息契约的转换 147  
11.2 服务契约 149  
11.2.1 应用服务 150  
11.2.2 远程服务 153  
11.3 设计服务契约 160  
11.3.1 业务服务的细化 160  
11.3.2 服务序列图 162  
11.3.3 服务契约的表示 163  
第 12章 领域驱动架构 165  
12.1 菱形对称架构 165  
12.1.1 六边形架构 165  
12.1.2 整洁架构思想 168  
12.1.3 分层架构 169  
12.1.4 演进为菱形对称架构 173  
12.1.5 菱形对称架构的组成 177  
12.1.6 引入上下文映射 179  
12.1.7 改进的菱形对称架构 180  
12.1.8 菱形对称架构的价值 182  
12.1.9 菱形对称架构的运用 190  
12.2 系统分层架构 197  
12.2.1 关注点分离 197  
12.2.2 映射子领域 198  
12.2.3 边缘层 200  
12.3 领域驱动架构风格 202  

第四篇 领域建模  
第 13章 模型驱动设计 206  
13.1 软件系统中的模型 206  
13.2 模型驱动设计 207  
13.3 领域模型驱动设计 210  
13.3.1 领域模型 210  
13.3.2 共同建模 211  
13.3.3 领域模型与统一语言 212  
13.3.4 迭代建模 213  
第 14章 领域分析建模 215  
14.1 统一语言与领域分析模型 215  
14.2 快速建模法 215  
14.2.1 名词建模 217  
14.2.2 动词建模 219  
14.2.3 归纳抽象 221  
14.2.4 确定关系 222  
14.3 领域分析模型的精炼 222  
14.4 领域分析模型与限界上下文 223  
第 15章 领域模型设计要素 226  
15.1 领域设计模型 226  
15.1.1 理想的对象模型 226  
15.1.2 战术设计元模型 227  
15.1.3 模型元素的哲学依据 228  
15.2 实体 229  
15.2.1 身份标识 230  
15.2.2 属性 234  
15.2.3 领域行为 236  
15.3 值对象 239  
15.3.1 值对象与实体的本质区别 239  
15.3.2 不变性 241  
15.3.3 领域行为 242  
15.3.4 值对象的优势 247  
15.4 聚合 247  
15.4.1 类的关系 247  
15.4.2 模型的设计约束 249  
15.4.3 聚合的定义与特征 252  
15.4.4 聚合的设计原则 254  
15.4.5 聚合的协作 260  
15.5 聚合生命周期的管理 265  
15.5.1 工厂 266  
15.5.2 资源库 274  
15.6 领域服务 280  
15.6.1 聚合的问题 280  
15.6.2 领域服务的特征 281  
15.6.3 领域服务的运用场景 282  
15.7 领域事件 287  
15.7.1 建模思想的转变 287  
15.7.2 领域事件的定义 289  
15.7.3 对象建模范式的领域事件 290  
第 16章 领域设计建模 295  
16.1 角色构造型 295  
16.1.1 角色构造型与领域驱动设计 296  
16.1.2 领域驱动设计的角色构造型 297  
16.2 设计聚合 301  
16.2.1 理顺对象图 302  
16.2.2 分解关系薄弱处 303  
16.2.3 调整聚合边界 310  
16.3 服务驱动设计 312  
16.3.1 业务服务 312  
16.3.2 业务服务的层次 313  
16.3.3 服务驱动设计方法 313  
16.3.4 服务驱动设计过程 315  
16.3.5 业务服务的关键价值 323  
第 17章 领域实现建模 324  
17.1 稳定的领域模型 324  
17.1.1 菱形对称架构与测试金字塔 325  
17.1.2 测试形成的精炼文档 326  
17.1.3 单元测试 327  
17.2 测试优先的领域实现建模 329  
17.2.1 测试驱动开发 329  
17.2.2 测试驱动开发的节奏 331  
17.2.3 简单设计 333  
17.3 领域建模过程 334  
17.3.1 薪资管理系统的需求说明 336  
17.3.2 薪资管理系统的领域分析建模 336  
17.3.3 薪资管理系统的领域设计建模 340  
17.3.4 薪资管理系统的领域实现建模 351  

第五篇 融合  
第 18章 领域驱动设计的战略考量 362  
18.1 限界上下文与微服务 362  
18.1.1 进程内的通信边界 362  
18.1.2 进程间的通信边界 364  
18.1.3 限界上下文与微服务的关系 366  
18.2 限界上下文之间的分布式通信 368  
18.2.1 分布式通信的设计因素 368  
18.2.2 分布式通信机制 369  
18.3 命令查询职责的分离 377  
18.3.1 CQS模式 377  
18.3.2 CQRS模式的架构 378  
18.3.3 命令总线的引入 379  
18.3.4 事件溯源模式的引入 380  
18.3.5 事件总线的引入 381  
18.4 事务 383  
18.4.1 本地事务 384  
18.4.2 分布式事务 386  
18.4.3 柔性事务 388  
第 19章 领域驱动设计的战术考量 396  
19.1 设计概念的统一语言 396  
19.1.1 设计术语的统一 396  
19.1.2 诸多“XO” 399  
19.1.3 领域驱动设计的设计统一语言 402  
19.2 领域模型的持久化 402  
19.2.1 对象关系映射 403  
19.2.2 JPA的应对之道 403  
19.2.3 瞬态领域模型 413  
19.2.4 领域模型与数据模型 415  
19.3 资源库的实现 417  
19.3.1 通用资源库的实现 417  
19.3.2 资源库端口与适配器 419  
19.3.3 聚合的领域纯粹性 420  
19.3.4 领域服务的协调价值 420  
第 20章 领域驱动设计体系 423  
20.1 领域驱动设计的精髓 423  
20.1.1 边界是核心 423  
20.1.2 纪律是关键 425  
20.2 领域驱动设计能力评估模型 426  
20.2.1 敏捷迭代能力 427  
20.2.2 需求分析能力 427  
20.2.3 领域建模能力 428  
20.2.4 架构设计能力 428  
20.3 领域驱动设计参考过程模型 429  
20.3.1 EAS案例背景 431  
20.3.2 EAS的全局分析 431  
20.3.3 EAS的架构映射 452  
20.3.4 EAS的领域建模 467  
20.3.5 EAS的融合设计 485  
20.4 总结 495  

附录  
附录A 领域建模范式 498  
A.1 结构建模范式 498  
A.1.1 结构化编程的设计原则 498  
A.1.2 结构化编程的问题 499  
A.1.3 结构建模范式的设计模型 502  
A.2 对象建模范式 507  
A.2.1 职责 507  
A.2.2 抽象 514  
A.3 函数建模范式 522  
A.3.1 代数数据类型 522  
A.3.2 纯函数 525  
A.3.3 函数建模范式的演绎法 530  
附录B 事件驱动模型 533  
B.1 事件风暴 534  
B.1.1 理解事件风暴 534  
B.1.2 探索业务全景 537  
B.1.3 领域分析建模 543  
B.1.4 事件风暴与建模范式 547  
B.2 事件溯源模式 547  
B.2.1 领域事件的定义 548  
B.2.2 聚合的创建与更新 548  
B.2.3 快照 551  
B.2.4 面向聚合的事件溯源 552  
B.2.5 聚合查询的改进 553  
B.3 事件驱动架构 555  
B.3.1 事件驱动架构风格 555  
B.3.2 引入事件流 556  
附录C 领域驱动设计魔方 561  
C.1 发展过程的里程碑 561  
C.2 领域驱动设计魔方 562  
C.3 全局分析的魔方切面 563  
C.3.1 业务角度 563  
C.3.2 技术角度 564  
C.3.3 管理角度 564  
C.4 架构映射的魔方切面 565  
C.4.1 业务角度 565  
C.4.2 技术角度 566  
C.4.3 管理角度 566  
C.5 领域建模 566  
C.5.1 业务角度 567  
C.5.2 技术角度 567  
C.5.3 管理角度 568  
附录D 领域驱动设计统一过程交付物 569  
D.1 价值需求 569  
D.1.1 利益相关者 569  
D.1.2 系统愿景 569  
D.1.3 系统范围 569  
D.2 业务需求 569  
D.2.1 概述 569  
D.2.2 业务流程 570  
D.2.3 子领域1…n 570  
D.3 系统上下文 571  
D.3.1 概述 571  
D.3.2 系统协作 571  
D.4 业务架构 571  
D.4.1 业务组件 571  
D.4.2 业务架构视图 571  
D.5 应用架构 571  
D.5.1 应用组件 571  
D.5.2 应用架构视图 572  
D.6 子领域架构 572  
D.6.1 核心子领域1…n 572  
D.6.2 支撑子领域 572  
D.6.3 通用子领域 572  
参考文献 573  

人民邮电出版社有限公司店铺主页二维码
人民邮电出版社有限公司 微信公众号认证
人民邮电出版社微店,为您提供最全面,最专业的一站式购书服务
扫描二维码,访问我们的微信店铺
随时随地的购物、客服咨询、查询订单和物流...

解构领域驱动设计

手机启动微信
扫一扫购买

收藏到微信 or 发给朋友

1. 打开微信,扫一扫左侧二维码

2. 点击右上角图标

点击右上角分享图标

3. 发送给朋友、分享到朋友圈、收藏

发送给朋友、分享到朋友圈、收藏

微信支付

支付宝

扫一扫购买

打开微信,扫一扫

或搜索微信号:renyoushe
人民邮电出版社官方微信公众号

收藏到微信 or 发给朋友

1. 打开微信,扫一扫左侧二维码

2. 点击右上角图标

点击右上角分享图标

3. 发送给朋友、分享到朋友圈、收藏

发送给朋友、分享到朋友圈、收藏