分类分类
大小:24.00 MB更新:2017/12/26
类别:程序开发系统:Winll

实现领域驱动设计 pdf帮助开发人员如何更好的做好软件,这款书籍针对技术对象层面进行了深刻的剖析,同时帮助大部分从业人员指明了研究方向,付诸于实践。感兴趣的朋友欢迎来IT猫扑下载使用。
《实现领域驱动设计》分别从战略和战术层面详尽地讨论了如何实现DDD,。《实现领域驱动设计》共分为14 章,在DDD 战略部分,《实现领域驱动设计》向我们讲解了领域、限界上下文、上下文映射图和架构等内容,战术部分包括实体、值对象、领域服务、领域事件、聚合和资源库等内容。其中包含了大量的最佳实践、设计准则和对一些问题的折中性讨论一个虚构的案例研究贯穿全书,这对于实例讲解DDD 实现来说非常有用。

序............... xix
前言............. xxi
致谢............ xxxi
关于作者................... xxxv
如何使用本书.........xxxvii
第1章 DDD入门...............1
我能DDD吗?..................2
为什么我们需要DDD.............5
如何DDD...................... 17
使用DDD的业务价值..............22
1.你获得了一个非常有用的领域模型................22
2.你的业务得到了更准确的定义和理解............23
3.领域专家可以为软件设计做出贡献...........23
4.更好的用户体验....................23
5.清晰的模型边界.....................24
6.更好的企业架构..............24
7.敏捷、迭代式和持续建模....................24
8.使用战略和战术新工具........................24
实施DDD所面临的挑战.....................25
虚构的案例,真实的实践................... 33
本章小结.........................36
第2章 领域、子域和限界上下文.....................37
总览....................... 37
工作中的子域和限界上下文............................. 38
将关注点放在核心域上............................. 42
战略设计为什么重要.................... 45
现实世界中领域和子域...................48
理解限界上下文..................... 53
限界上下文不仅仅只包含模型..................... 57
限界上下文的大小...................... 59
与技术组件保持一致................... 61
示例上下文........................ 62
协作上下文..................63
身份与访问上下文..................69
敏捷项目管理上下文................. 71
本章小结....................................73
第3章 上下文映射图............................75
上下文映射图为什么重要........................ 75
绘制上下文映射图......................77
产品和组织关系........................79
映射3个示例限界上下文........................82
本章小结............................97
第4章 架构.......................99
采访一个成功的CIO.................... 100
分层................................. 104
依赖倒置原则.................... 107
六边形架构(端口与适配器)..................... 110
面向服务架构.......................114
REST................................117
REST作为一种架构风格...........................117
RESTful HTTP服务器的关键方面 ........................................ 118
RESTful HTTP客户端的关键方面 ........................................ 119
REST和DDD..................... 120
为什么是REST?......................... 121
命令和查询职责分离——CQRS................. 121
CQRS的各个方面........................ 123
处理具有最终一致性的查询模型.................. 128
事件驱动架构................... 129
管道和过滤器..................... 131
长时处理过程(也叫Saga)................... 134
事件源...................... 140
数据网织和基于网格的分布式计算....................... 143
数据复制..................... 144
事件驱动网织和领域事件.................. 145
持续查询................... 145
分布式处理...................... 146
本章小结............................ 148
第5章 实体......................... 149
为什么使用实体......................... 149
唯一标识............................ 151
用户提供唯一标识......................... 152
应用程序生成唯一标识........................... 153
持久化机制生成唯一标识............................ 156
另一个限界上下文提供唯一标识..................... 160
标识生成时间..................... 161
委派标识......................... 163
标识稳定性.......................... 165
发现实体及其本质特征............................. 167
揭开实体及其本质特征的神秘面纱................. 168
挖掘实体的关键行为.......................... 172
角色和职责......................... 176
创建实体......................... 181
验证................................... 183
跟踪变化............................ 192
本章小结................................ 192
第6章 值对象..................... 193
值对象的特征.......................... 194
度量或描述.......................... 195
不变性........................... 195
概念整体................................ 196
可替换性.......................... 199
值对象相等性..........................200
无副作用行为............................. 201
最小化集成..................204
用值对象表示标准类型........................206
测试值对象........................ 210
实现.............................. 214
持久化值对象................. 219
拒绝由数据建模泄漏带来的不利影响..................220
ORM与单个值对象................................ 221
多个值对象序列化到单个列中.....................224
使用数据库实体保存多个值对象....................225
使用联合表保存多个值对象..........................229
ORM与枚举状态对象........................................230
本章小结....................... 233
第7章 领域服务.................................235
什么是领域服务(首先,什么不是领域服务).................. 237
请确定你是否需要一个领域服务................................ 238
建模领域服务.................. 241
独立接口有必要吗.............................244
一个计算过程..........................246
转换服务........................249
为领域服务创建一个迷你层.........................250
测试领域服务............................250
本章小结.................. 253
第8章 领域事件...............................255
何时/为什么使用领域事件.......................... 255
建模领域事件.................... 258
创建具有聚合特征的领域事件................... 263
身份标识............................264
从领域模型中发布领域事件.............................. 265
发送方................... 265
订阅方.....................269
向远程限界上下文发布领域事件............................. 271
消息设施的一致性........................... 271
自治服务和系统............................. 272
容许时延.................. 273
事件存储.................. 274
转发存储事件的架构风格........................... 279
以REST资源的方式发布事件通知....................... 279
通过消息中间件发布事件通知.................. 283
实现............................284
发布NotificationLog............... 285
发布基于消息的事件通知..............................290
本章小结........................297
第9章 模块................................299
通过模块完成设计..................................299
模块的基本命名规范..........................302
领域模型的命名规范...........................302
敏捷项目管理上下文中的模块..............................305
其他层中的模块..................308
先考虑模块,再是限界上下文...............................309
本章小结......................... 310
第10章 聚合...................... 311
在Scrum核心领域中使用聚合........................ 312
第一次尝试:臃肿的聚合....................... 313
第二次尝试:多个聚合........................... 314
原则:在一致性边界之内建模真正的不变条件................317
原则:设计小聚合............................. 319
不要相信每一个用例............................ 321
原则:通过唯一标识引用其他聚合......................... 322
通过标识引用使多个聚合协同工作 ...................................... 324
建模对象导航性............................ 325
可伸缩性和分布式............................. 326
原则:在边界之外使用最终一致性............................. 327
谁的任务?............................ 328
打破原则的理由......................... 329
理由之一:方便用户界面................................. 329
理由之二:缺乏技术机制............................. 330
理由之三:全局事务.......................................... 331
理由之四:查询性能.................................. 331
遵循原则.................... 332
通过发现,深入理解............................... 332
重新思考设计............................... 332
估算聚合成本............................. 334
常见用例场景........................ 335
内存消耗............................ 336
探索另外的设计................................... 337
实现最终一致性.............................. 338
这是Scrum团队成员的任务吗?......................... 339
决定的时候到了.............................. 341
实现........................................ 341
创建具有唯一标识的根实体........................ 342
优先使用值对象...................... 343
使用迪米特法则和“告诉而非询问”原则 ...............344
乐观并发...............346
避免依赖注入................348
本章小结................................ 349
第11章 工厂................. 351
领域模型中的工厂................. 351
聚合根中的工厂方法............................. 352
创建CalendarEntry实例................... 353
创建Discussion实例............................ 357
领域服务中的工厂.......................... 358
本章小结.......................... 361
第12章 资源库...........................363
面向集合资源库...........................364
Hibernate实现...................... 369
TopLink实现.................... 377
面向持久化资源库........................ 379
Coherence实现............................ 381
MongoDB实现......................... 386
额外的行为...................................... 391
管理事务................................. 393
警告................................. 397
类型层级............................... 397
资源库 vs 数据访问对象(DAO)..............................400
测试资源库.......................................... 401
以内存实现进行测试...................404
本章小结................................407
第13章 集成限界上下文...............................409
集成基础知识....................................409
分布式系统之间存在根本性区别.......................411
跨系统边界交换信息...............................411
通过REST资源集成限界上下文......................... 417
实现REST资源.......................... 418
使用防腐层实现REST客户端........... 421
通过消息集成限界上下文................ 428
从Scrum的产品负责人和团队成员处得到持续通知 .................... 428
你能处理这样的职责吗?..................... 434
长时处理过程,以及避免职责............. 439
长时处理过程的状态机和超时跟踪器 .................................. 450
设计一个更复杂的长时处理过程 ..........................................460
当消息机制或你的系统不可用时 ...........................................464
本章小结.................................465
第14章 应用程序..................467
用户界面...................................469
渲染领域对象............. 470
渲染数据传输对象................... 471
使用调停者发布聚合的内部状态 .......................................... 471
通过领域负载对象渲染聚合实例 .......................................... 472
聚合实例的状态展现............................. 473
用例优化资源库查询...................... 474
处理不同类型的客户端................... 474
渲染适配器以及处理用户编辑............. 475
应用服务 ............................................ 478
示例应用服务 ................................ 478
解耦服务输出 .....................485
组合多个限界上下文 .....................487
基础设施 ...............................489
企业组件容器 ....................490
本章小结 ....................494
附录A 聚合与事件源:A+ES ..........................495
应用服务内部 ....................... 496
命令处理器 .....................505
Lambda语法...................508
并发控制 ....................... 510
A+ES所带来的结构自由性 .............. 513
性能 ............................ 513
实现事件存储 ..................... 516
关系型持久化 .................. 520
BLOB持久化 ...................... 522
专注的聚合 ............................ 523
读模型投射 ........................... 524
与聚合设计一道使用 ................ 527
增强事件 ........................... 527
工具和模式 ................... 529
事件序列器 .......... 530
事件不变性 ................ 531
值对象 ..................... 531
协议生成 .................... 534
单元测试和需求规范 .............. 535
事件源和函数式语言 .......... 536
参考文献 ..................53
creo 2.0中文版从入门到精通程序开发115.00 MB电子版
详情python学习手册 第5版 pdf程序开发13.30 MB中文完整版
详情游戏设计梦工厂电子书程序开发68.31 MB高清免费版
详情欧姆龙CP1H/CP1L单元编程手册程序开发33.70 MB中文版
详情微信小程序实战入门内涵完整实例解析程序开发23.71 MB高清完整版
详情跟老齐学python从入门到精通电子书程序开发4.31 MB完整版
详情stm32从入门到精通电子版程序开发32.00 MB高清完整版
详情ASP.NET4入门经典 涵盖C#和VB.NET(第6版)程序开发78.70 MBpdf电子书中文版
详情领域驱动设计与模式实战中文版程序开发64.00 MB高清电子扫描版
详情opengl编程指南原书第八版程序开发5.89 MBpdf 中文电子高清版
详情netty实战中文版pdf程序开发13.50 MB高清版
详情Xilinx FPGA开发实用教程第2版程序开发49.50 MBpdf高清完整版
详情vba编程从入门到精通 pdf程序开发6.20 MB电子书完整版
详情c++从入门到精通 第二版 pdf程序开发157.00 MB高清版
详情PHPWord中文使用手册程序开发72.00 KB官方版
详情程序员教程软考指定用书(第3版)程序开发28.77 MB最新2009高清PDF版
详情谭浩强c语言程序设计第四版电子版程序开发17.70 MBpdf高清扫描版
详情stm32嵌入式系统开发实战指南 FreeRTOS与LwIP联合移植程序开发45.20 MB电子完整扫描版
详情nodejs实战双色电子版程序开发16.40 MB完整版
详情arm体系结构与编程最新版程序开发114.60 MB杜春雷著
详情精通asp.net 4.5 第5版 pdf程序开发58.18 MB电子版
详情Head First Servlets and JSP(第2版)程序开发67.00 MBpdf高清完整版
详情stm32自学笔记 第2版 pdf程序开发32.00 MB电子版
详情JQuery API 1.8.3 中文参考手册程序开发2.20 MB正式版
详情ThinkPHP5.0中文手册程序开发5.00 MB官方版
详情jQuery1.7.2 中文手册程序开发562.00 KBchm修正版
详情jQuery API 3.2.1 中文手册程序开发999.00 KBchm版
详情ThinkPHP3.1新手入门手册程序开发487.00 KB官方版
详情ASP.NET基础教程 C#案例版程序开发15.48 MB中文电子扫描版
详情谭浩强C程序设计完整ppt和程序第五版程序开发5.47 MB免费版
详情小程序从0到1微信全栈工程师一本通电子版程序开发14.85 MB高清版
详情C++多核高级编程中文版程序开发57.35 MB高清版
详情matlab数值计算pdf程序开发15.24 MB免费版
详情php5.6中文手册程序开发18.50 MB官方版
详情PHPCMSV9用户手册程序开发14.11 MB官方版
详情java完全自学手册pdf程序开发1.71 MB电子版
详情proe5.0从入门到精通pdf高清程序开发5.00 MB电子版
详情android基础教程第4版pdf程序开发12.59 MB高清免费版
详情python并行编程手册pdf程序开发35.64 MB高清免费版
详情游戏化实战电子书程序开发35.55 MB高清免费版
详情点击查看更多
java从入门到精通第三版程序开发486.00 MB电子版完整版
详情python学习手册 第5版 pdf程序开发13.30 MB中文完整版
详情程序员教程软考指定用书(第3版)程序开发28.77 MB最新2009高清PDF版
详情软件设计师教程(第2版)程序开发91.00 MBpdf版
详情Redhat LINUX 9从入门到精通程序开发42.62 MB免费版
详情hadoop权威指南第5版电子书程序开发0.00 B完整扫描版
详情c++从入门到精通 第二版 pdf程序开发157.00 MB高清版
详情周志明深入理解java虚拟机 第三版 pdf程序开发0.00 B电子版
详情stm32从入门到精通电子版程序开发32.00 MB高清完整版
详情系统分析师教程张友生pdf高清版程序开发105.30 MB2010最新版
详情vue.js权威指南电子版程序开发97.70 MB高清版
详情数据结构教材(严蔚敏编著)程序开发27.90 MBPDF高清版
详情hadoop权威指南第四版中文版电子书程序开发8.56 MBpdf版本
详情谭浩强C程序设计完整ppt和程序第五版程序开发5.47 MB免费版
详情深入浅出python电子书程序开发0.00 B完整版
详情Python程序设计基础程序开发2.95 MBpdf高清电子版
详情程序员教程第4版(软考指定用书)程序开发9.90 MB2014免费版
详情c#入门经典第7版电子档程序开发148.73 MB中文版
详情runoob菜鸟教程离线版程序开发12.40 MB免费版
详情vb从入门到精通第三版pdf程序开发20.00 MB电子版
详情stm32库开发实战指南 电子书程序开发117.00 MB完整版
详情opengl编程指南第9版程序开发5.90 MBpdf 高清版
详情谭浩强c语言程序设计第四版电子版程序开发17.70 MBpdf高清扫描版
详情实现领域驱动设计 完整版程序开发24.00 MB中文电子版带书签目录
详情精通asp.net mvc5中文版程序开发117.00 MB高清完整扫描版
详情vba编程从入门到精通 pdf程序开发6.20 MB电子书完整版
详情android studio应用开发实战详解 pdf程序开发0.00 B电子完整版
详情人月神话40周年pdf程序开发91.93 MB中文纪念版
详情j2ee经典学习教程(独家推荐)程序开发14.32 MBpdf高清版
详情netty实战中文版pdf程序开发13.50 MB高清版
详情creo 2.0中文版从入门到精通程序开发115.00 MB电子版
详情bootstrap用户离线文档chm程序开发1.90 MBv3.3.4 免费版
详情深入浅出mfc 第5版电子版程序开发26.60 MB完整扫描版
详情java从入门到精通第4版程序开发81.50 MB中文版电子版
详情proe5.0从入门到精通pdf高清程序开发5.00 MB电子版
详情arm体系结构与编程最新版程序开发114.60 MB杜春雷著
详情ug nx 8.0中文版完全自学手册程序开发23.20 MB附视频教程
详情游戏设计梦工厂电子书程序开发68.31 MB高清免费版
详情c#从入门到精通第3版pdf程序开发120.50 MB电子书扫描版
详情stm32嵌入式系统开发实战指南 FreeRTOS与LwIP联合移植程序开发45.20 MB电子完整扫描版
详情点击查看更多
j2ee经典学习教程(独家推荐)程序开发14.32 MBpdf高清版
详情Redhat LINUX 9从入门到精通程序开发42.62 MB免费版
详情实战java虚拟机 jvm故障诊断与性能优化pdf程序开发42.00 MB完整版电子版
详情runoob菜鸟教程离线版程序开发12.40 MB免费版
详情c++primer第5版中文版pdf程序开发0.00 B中英超清电子版
详情精通python爬虫框架scrapy epub+azw3+mobi程序开发0.00 B
详情matlab数值计算pdf程序开发15.24 MB免费版
详情opengl编程指南第7版程序开发22.79 MBpdf 中文扫描版
详情jQuery API 3.2.1 中文手册程序开发999.00 KBchm版
详情php7.3.8离线中文手册程序开发31.59 MB官方版
详情深入浅出google android pdf程序开发58.00 MB完整版扫描版_E2ECloud工作室
详情周志明深入理解java虚拟机 第三版 pdf程序开发0.00 B电子版
详情python学习手册 第4版程序开发0.00 B
详情php5.6中文手册程序开发18.50 MB官方版
详情hadoop权威指南第三版中文pdf程序开发111.80 MB电子书
详情数值方法matlab版第四版程序开发20.60 MB高清完整版
详情opengl编程指南第9版程序开发5.90 MBpdf 高清版
详情html5参考手册中文版程序开发182.00 KB官方完整版
详情小程序巧应用微信小程序开发实战pdf程序开发72.58 MB高清完整版
详情PHP7.2中文手册程序开发30.20 MB官方版
详情android开发入门与实战 第2版 pdf程序开发39.00 MB电子版完整版
详情html手册完整版程序开发8.45 MB中文版
详情matlab数值分析与应用pdf程序开发12.41 MB高清完整版
详情linux命令大全chm版程序开发504.00 KB
详情ThinkPHP5.1完全开发手册程序开发4.00 MBpdf版
详情LDC1000金属探测传感器程序资料程序开发3.83 MB大全版
详情stm32自学笔记 第2版 pdf程序开发32.00 MB电子版
详情linux命令详解手册pdf程序开发771.00 KB
详情java从入门到精通第三版程序开发486.00 MB电子版完整版
详情asp.net4从入门到精通 pdf程序开发65.70 MB中文电子书完整版
详情ThinkPHP5.0中文手册程序开发5.00 MB官方版
详情Java8编程入门官方教程(第6版)程序开发4.49 MBpdf高清电子版
详情c++从入门到精通 第二版 pdf程序开发157.00 MB高清版
详情android studio应用开发实战详解 pdf程序开发0.00 B电子完整版
详情c程序设计第四版完整版程序开发17.80 MB高清电子版_附课后习题答案
详情node.js权威指南完整版程序开发0.00 B高清电子版
详情深入浅出mfc 扫描版 pdf程序开发27.00 MB电子版完整版
详情Python程序设计基础程序开发2.95 MBpdf高清电子版
详情python学习手册 第5版 pdf程序开发13.30 MB中文完整版
详情深入php与jquery开发中文版程序开发25.10 MB高清版
详情点击查看更多










