当前位置:首页 > 操作系统 >
《实现领域驱动设计》电子书封面

实现领域驱动设计

  • 发布时间:2019年08月03日 20:17:14
  • 作者:沃恩.弗农
  • 大小:107 MB
  • 类别:驱动设计电子书
  • 格式:PDF
  • 版本:高清版
  • 评分:8.1

    实现领域驱动设计 PDF 高清版

      给大家带来的一篇关于驱动设计相关的电子书资源,介绍了关于实现领域、驱动设计方面的内容,本书是由电子工业出版社出版,格式为PDF,资源大小107 MB,沃恩.弗农编写,目前豆瓣、亚马逊、当当、京东等电子书综合评分为:7.1。

      内容介绍

      实现领域驱动设计PDF

      对开发软件中普遍的场景开展了非常好的抽象性,分类。 尽管一些地区说得不足深入,一些地区的感染力不足,还一些地区乃至欺诈比较严重(例如运用信息集成化限界语义时,根据恶性事件产生時间来处理次序难题的计划方案,假如消費端布署在好几个连接点,这一计划方案就是说不太好的,或是很不完善,而这在现阶段互联网技术运用中是十分广泛的状况)。 但这书对怎样运用DDD,怎样立在更高的层级开展设计方案,怎样衡量设计方案,开展了清楚的表明,并明确提出了行之有效的提议和标准。 始终在想外国人为何那么擅于抽象性、造就新词汇,从而创建一整套管理体系/观念/方式

      读后感:前3章能够略过(免于退避三舍),从第4章刚开始读。最有使用价值的层面是在其中讲来到许多设计方案与技术性实现关键点,在具体新项目中大多数碰到过。有关书中提到“事件驱动构架(异步-信息体制)”,基础理论超过具体,忽视了1个情况严重的难题,就是说分布式事务管理方法。就本人现阶段的工作经验与了解,MQ信息体制更合适做为不一样运用间的集成化技术性。

      发展战略设计方案教會你如何恰当的区划行业、子行业,如何设计方案有效的限界语义,如何和专家合作明确通用性語言。

      防守战术设计方案中,实体线、值另一半、聚合物、资料库、行业恶性事件等定义,较为全的遮盖了开发设计各个领域。

      或许在日常生活中,并沒有见到过许多人应用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
      • 参考文献 ..................539

      学习笔记

      Vue数据驱动模拟实现5

      一、前言 在"模拟Vue之数据驱动4"中,我们实现了push、pop等数组变异方法。 但是,在随笔末尾我们提到,当pop、sort这些方法触发后,该怎么办呢?因为其实,它们并没有往数组中新增属性呢。 而且,当数据改动后,如果我们在变动数据处,就立即更改数据也未免性能不够,此时,走读Vue源码,发现他用了一个很巧妙的方法,就是职责链模式。当某个数据有所变动时,它会向上传递,通俗点就是冒泡至根结点,这样我们也可以在自己代码中使用事件代理咯,哇卡哇卡。 示意图如下所示: 好了,说了这么多,我们下面就一起来实现下吧。 二、正文 注:以下代码皆编写在observer.js文件中。 首先,当数据变……

      快速掌握Node.js事件驱动模型

      一、传统线程网络模型 在了解Node.js事件驱动模型之前,我们先了解一下传统的线程网络模型,请求进入web服务器(IIS、Apache)之后,会在线程池中分配一个线程来线性同步完成请求处理,直到请求处理完成并发出响应,结束之后线程池回收。 这就会就会带来以下几个问题 : 1.由于线程池中线程个数有限,对于频繁请求时,就会出现等待,严重的甚至会把服务器挂掉 2.对于高并发的时候,为了防止出现脏数据就会使用锁来解决,一些I/O事务可能消耗很长得时间,这样就会出现一些线程等待,效率低下 二、事件驱动模型 1.在Node.js中有一个事件队列,每个任务都会放入事件队列中,都会留下处理结果的回调函数,事件循环线程……

      深入理解Node.js事件驱动编程

      在传统程编程模里,I/O操作就像一个普通的本地函数调用:在函数执行完之前程序被堵塞,无法继续运行。堵塞I/O起源于早先的时间片模型,这种模型下每个进程就像一个独立的人,目的是将每个人区分开,而且每个人在同一时刻通常只能做一件事,必须等待前面的事做完才能决定下一件事做什么。但是这种在计算机网络和Internet上被广泛使用的一个用户,一个进程的模型伸缩性很差。管理多个进程时,会耗费很多内存,上下文切换也会占用大量资源,这些对操作系统是个很大的负担,而且随着进程数的递增,会导致系统性能急剧衰减。 多线程是个替代方案,线程是一个轻量级的进程,它会和同一个进……

      VUE2实现事件驱动弹窗示例

      前几天想了解vue如何写弹窗组件 有以下两种可取的写法: 1.状态管理 如果弹窗组件放在根组件,使用vuex来管理组件的show和hide。放在组件内,通过增加v-show或v-if来控制,可结合slot,定义不同需求的弹窗 2.事件管理 注册一个全局事件来打开弹窗,传入需展示的文字和相关的逻辑控制,可结合promise,实现异步 觉得对用像confirme和propmt这类弹窗,还是事件驱动的好。最好就是能使用promise回调。 于是手痒就写了一个。下面是代码。 propmt.js import Vue from 'vue'import promptComponent from './prompt.vue' // 引入弹窗的vue文件const promptConstructor = Vue.extend(promptComponent); // 注册组件let instance = new promptConstructor().$mount(''); // 获得组……

      以上就是本次介绍的驱动设计电子书的全部相关内容,希望我们整理的资源能够帮助到大家,感谢大家对码农之家的支持。

      上一篇:机器学习导论

      下一篇:新一代SDN VMware NSX 网络原理与实践

      展开 +

      收起 -

      • 《实现领域驱动设计》PDF下载

      下载地址:百度网盘下载
      驱动设计相关电子书
      用户力:需求驱动的产品、运营与商业模式
      用户力:需求驱动的产品、运营与商业模式 原书扫描版

      本书从用户需求角度深刻阐释了互联网产品设计、网络运营、商业模式构建的本质与方法论

      立即下载
      深度学习:智能时代的核心驱动力量
      深度学习:智能时代的核心驱动力量 超清扫描版

      全球科技巨头纷纷拥抱深度学习,自动驾驶、AI医疗、语音识别、图像识别、智能翻译以及震惊世界的AlphaGo,背后都是深度学习在发挥神奇的作用。深度学习是人工智能从概念到繁荣得以实现的主流技术。经过深度学习训练的计算机,不再被动按照指令运转,而是像自然进化的生命那样,开始自主地从经验中学习。

      立即下载
      Java测试驱动开发
      Java测试驱动开发 中文原书版

      《Java测试驱动开发》最大特点是很薄,看起来没有什么负担。这本书的作用是通过实战让你培养TDD的思路,小编觉得挺不错的,感兴趣的小伙伴们可以参考一下。

      立即下载
      Python测试驱动开发
      Python测试驱动开发 超清原书第2版

      这本书从最基础的知识开始,讲解Web开发的整个流程,展示如何使用Python做测试驱动开发,全部使用Python 3,并针对新版Django全面升级,欢迎下载

      立即下载
      机器学习实践:测试驱动的开发方法
      机器学习实践:测试驱动的开发方法 清晰中文版

      本书涵盖了测试驱动的机器学习、机器学习概述等诸多内容,介绍了机器学习的基本原理,涵盖了测试驱动的机器学习、机器学习概述、K近邻分类、朴素贝叶斯分类、隐马尔科夫模型等,欢迎

      立即下载
      Linux驱动程序开发实例
      Linux驱动程序开发实例 清晰第2版

      本书使用了较新的Linux内核,基于Linux4.5内核,提供了丰富的实例代码和详细的注释,实例丰富,讲解细致。强烈建议嵌入式开发人员阅读

      立即下载
      读者留言
      shishuwu

      shishuwu 提供上传

      资源
      46
      粉丝
      42
      喜欢
      244
      评论
      20

      Copyright 2018-2020 www.xz577.com 码农之家

      投诉 / 推广 / 赞助:QQ:520161757