图书介绍

领域驱动设计 软件核心复杂性应对之道2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

领域驱动设计 软件核心复杂性应对之道
  • (美)EricEvans著;赵俐,盛海艳,刘霞等译;任发科审校 著
  • 出版社: 北京:人民邮电出版社
  • ISBN:9787115376756
  • 出版时间:2016
  • 标注页数:370页
  • 文件大小:61MB
  • 文件页数:390页
  • 主题词:软件设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

领域驱动设计 软件核心复杂性应对之道PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第一部分 运用领域模型5

第1章 消化知识5

1.1 有效建模的要素9

1.2 知识消化10

1.3 持续学习11

1.4 知识丰富的设计12

1.5 深层模型15

第2章 交流与语言的使用16

2.1 模式:UBIQUITOUS LANGUAGE16

2.2 “大声地”建模21

2.3 一个团队,一种语言22

2.4 文档和图24

2.4.1 书面设计文档25

2.4.2 完全依赖可执行代码的情况27

2.5 解释性模型27

第3章 绑定模型和实现29

3.1 模式:MODEL-DRIVEN DESIGN30

3.2 建模范式和工具支持32

3.3 揭示主旨:为什么模型对用户至关重要38

3.4 模式:HANDS-ON MODELER39

第二部分 模型驱动设计的构造块43

第4章 分离领域43

4.1 模式:LAYERED ARCHITECTURE43

4.1.1 将各层关联起来46

4.1.2 架构框架47

4.2 领域层是模型的精髓48

4.3 模式:THE SMART UI“反模式”48

4.4 其他分离方式50

第5章 软件中所表示的模型51

5.1 关联52

5.2 模式:ENTITY(又称为REFERENCE OBJECT)56

5.2.1 ENTITY建模59

5.2.2 设计标识操作60

5.3 模式:VALUE OBJECT62

5.3.1 设计VALUE OBJECT64

5.3.2 设计包含VALUE OBJECT的关联67

5.4 模式:SERVICE67

5.4.1 SERVICE与孤立的领域层69

5.4.2 粒度70

5.4.3 对SERVICE的访问70

5.5 模式:MODULE(也称为PACKAGE)71

5.5.1 敏捷的MODULE72

5.5.2 通过基础设施打包时存在的隐患73

5.6 建模范式75

5.6.1 对象范式流行的原因76

5.6.2 对象世界中的非对象77

5.6.3 在混合范式中坚持使用MODEL-DRIVEN DESIGN78

第6章 领域对象的生命周期80

6.1 模式:AGGREGATE81

6.2 模式:FACTORY89

6.2.1 选择FACTORY及其应用位置91

6.2.2 有些情况下只需使用构造函数93

6.2.3 接口的设计94

6.2.4 固定规则的相关逻辑应放置在哪里94

6.2.5 ENTITY FACTORY与VALUE OBJECT FACTORY95

6.2.6 重建已存储的对象95

6.3 模式:REPOSITORY97

6.3.1 REPOSITORY的查询101

6.3.2 客户代码可以忽略REPOSITORY的实现,但开发人员不能忽略102

6.3.3 REPOSITORY的实现103

6.3.4 在框架内工作104

6.3.5 REPOSITORY与FACTORY的关系104

6.4 为关系数据库设计对象106

第7章 使用语言:一个扩展的示例108

7.1 货物运输系统简介108

7.2 隔离领域:引入应用层110

7.3 将ENTITY和VALUE OBJECT区别开110

7.4 设计运输领域中的关联112

7.5 AGGREGATE边界113

7.6 选择REPOSITORY113

7.7 场景走查115

7.7.1 应用程序特性举例:更改Cargo的目的地115

7.7.2 应用程序特性举例:重复业务116

7.8 对象的创建116

7.8.1 Cargo的FACTORY和构造函数116

7.8.2 添加Handling Event117

7.9 停一下,重构:Cargo AGGREGATE的另一种设计118

7.10 运输模型中的MODULE120

7.11 引入新特性:配额检查122

7.11.1 连接两个系统123

7.11.2 进一步完善模型:划分业务124

7.11.3 性能优化125

7.12 小结126

第三部分 通过重构来加深理解131

第8章 突破131

8.1 一个关于突破的故事131

8.1.1 华而不实的模型132

8.1.2 突破133

8.1.3 更深层模型135

8.1.4 冷静决策137

8.1.5 成果138

8.2 机遇138

8.3 关注根本138

8.4 后记:越来越多的新理解139

第9章 将隐式概念转变为显式概念140

9.1 概念挖掘140

9.1.1 倾听语言140

9.1.2 检查不足之处144

9.1.3 思考矛盾之处148

9.1.4 查阅书籍148

9.1.5 尝试,再尝试150

9.2 如何为那些不太明显的概念建模150

9.2.1 显式的约束151

9.2.2 将过程建模为领域对象153

9.2.3 模式:SPECIFICATION154

9.2.4 SPECIFICATION的应用和实现156

第10章 柔性设计168

10.1 模式:INTENTION-REVEALING INTERFACES169

10.2 模式:SIDE-EFFECT-FREE FUNCTION173

10.3 模式:ASSERTION177

10.4 模式:CONCEPTUAL CONTOUR181

10.5 模式:STANDALONE CLASS184

10.6 模式:CLOSURE OF OPERATION186

10.7 声明式设计188

10.8 声明式设计风格190

10.9 切入问题的角度197

10.9.1 分割子领域197

10.9.2 尽可能利用已有的形式198

第11章 应用分析模式206

第12章 将设计模式应用于模型217

12.1 模式:STRATEGY(也称为POLICY)218

12.2 模式:COMPOSITE221

12.3 为什么没有介绍FLYWEIGHT226

第13章 通过重构得到更深层的理解227

13.1 开始重构227

13.2 探索团队227

13.3 借鉴先前的经验228

13.4 针对开发人员的设计229

13.5 重构的时机229

13.6 危机就是机遇230

第四部分 战略设计233

第14章 保持模型的完整性233

14.1 模式:BOUNDED CONTEXT235

14.2 模式:CONTINUOUS INTEGRATION239

14.3 模式:CONTEXT MAP241

14.3.1 测试CONTEXT的边界247

14.3.2 CONTEXT MAP的组织和文档化247

14.4 BOUNDED CONTEXT之间的关系248

14.5 模式:SHARED KERNEL248

14.6 模式:CUSTOMER/SUPPLIER DEVELOPMENT TEAM250

14.7 模式:CONFORMIST253

14.8 模式:ANTICORRUPTION LAYER255

14.8.1 设计ANTICORRUPTION LAYER的接口256

14.8.2 实现ANTICORRUPTION LAYER256

14.8.3 一个关于防御的故事259

14.9 模式:SEPARATE WAY260

14.10 模式:OPEN HOST SERVICE261

14.11 模式:PUBLISHED LANGUAGE262

14.12 “大象”的统一264

14.13 选择你的模型上下文策略267

14.13.1 团队决策或更高层决策268

14.13.2 置身上下文中268

14.13.3 转换边界268

14.13.4 接受那些我们无法更改的事物:描述外部系统269

14.13.5 与外部系统的关系269

14.13.6 设计中的系统270

14.13.7 用不同模型满足特殊需要270

14.13.8 部署271

14.13.9 权衡271

14.13.10 当项目正在进行时272

14.14 转换272

14.14.1 合并CONTEXT:SEPARATE WAY→SHARED KERNEL273

14.14.2 合并CONTEXT: SHARED KERNEL→CONTINUOUS INTEGRATION274

14.14.3 逐步淘汰遗留系统275

14.14.4 OPEN HOST SERVICE→PUBLISHED LANGUAGE276

第15章 精炼277

15.1 模式:CORE DOMAIN278

15.1.1 选择核心280

15.1.2 工作的分配280

15.2 精炼的逐步提升281

15.3 模式:GENERIC SUBDOMAIN282

15.3.1 通用不等于可重用286

15.3.2 项目风险管理287

15.4 模式:DOMAIN VISION STATEMENT287

15.5 模式:HIGHLIGHTED CORE289

15.5.1 精炼文档289

15.5.2 标明CORE290

15.5.3 把精炼文档作为过程工具291

15.6 模式:COHESIVE MECHANISM292

15.6.1 GENERIC SUBDOMAIN与COHE-SIVE MECHANISM的比较293

15.6.2 MECHANISM是CORE DOMAIN一部分294

15.7 通过精炼得到声明式风格294

15.8 模式:SEGREGATED CORE295

15.8.1 创建SEGREGATED CORE的代价296

15.8.2 不断发展演变的团队决策296

15.9 模式:ABSTRACT CORE301

15.10 深层模型精炼302

15.11 选择重构目标302

第16章 大型结构303

16.1 模式:EVOLVING ORDER306

16.2 模式:SYSTEM METAPHOR308

16.3 模式:RESPONSIBILITY LAYER309

16.4 模式:KNOWLEDGE LEVEL321

16.5 模式:PLUGGABLE COMPONENT FRAMEWORK328

16.6 结构应该有一种什么样的约束332

16.7 通过重构得到更适当的结构333

16.7.1 最小化333

16.7.2 沟通和自律334

16.7.3 通过重构得到柔性设计334

16.7.4 通过精炼可以减轻负担334

第17章 领域驱动设计的综合运用336

17.1 把大型结构与BOUNDED CONTEXT 结合起来使用336

17.2 将大型结构与精炼结合起来使用339

17.3 首先评估339

17.4 由谁制定策略341

17.4.1 从应用程序开发自动得出的结构341

17.4.2 以客户为中心的架构团队341

17.5 制定战略设计决策的6个要点342

17.5.1 技术框架同样如此344

17.5.2 注意总体规划345

结束语351

附录351

术语表354

参考文献357

图片说明359

索引360

热门推荐