图书介绍
函数响应式领域建模PDF|Epub|txt|kindle电子书版本网盘下载
![函数响应式领域建模](https://www.shukui.net/cover/65/34553288.jpg)
- (美)德巴斯什·戈施 著
- 出版社: 北京:电子工业出版社
- ISBN:9787121323928
- 出版时间:2018
- 标注页数:273页
- 文件大小:43MB
- 文件页数:295页
- 主题词:函数-程序设计
PDF下载
下载说明
函数响应式领域建模PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
1函数式领域建模:介绍1
1.1什么是领域模型2
1.2领域驱动设计介绍4
1.2.1边界上下文4
1.2.2领域模型元素5
1.2.3领域对象的生命周期8
1.2.4通用语言13
1.3函数化思想14
1.3.1哈,纯粹的乐趣17
1.3.2纯函数组合21
1.4管理副作用26
1.5纯模型元素的优点28
1.6响应式领域模型31
1.6.1响应式模型的3+1视图31
1.6.2揭穿“我的模型不能失败”的神话32
1.6.3伸缩性与消息驱动34
1.7事件驱动编程35
1.7.1事件与命令37
1.7.2领域事件38
1.8函数式遇上响应式40
1.9总结41
2 Scala与函数式领域模型42
2.1为什么是Scala43
2.2静态类型与富领域模型45
2.3领域行为的纯函数47
2.3.1回顾抽象的纯粹性50
2.3.2引用透明的其他好处53
2.4代数数据类型与不变性53
2.4.1基础:和类型与乘积类型53
2.4.2模型中的ADT结构数据56
2.4.3 ADT与模式匹配56
2.4.4 ADT鼓励不变性58
2.5局部用函数,全局用OO59
2.5.1 Scala中的模块60
2.6用Scala使模型具备响应性64
2.6.1管理作用65
2.6.2管理失败65
2.6.3管理延迟67
2.7总结69
3设计函数式领域模型70
3.1 API设计的代数71
3.1.1为什么是代数方法72
3.2为领域服务定义代数72
3.2.1赋值抽象73
3.2.2组合抽象74
3.2.3类型的最终代数76
3.2.4代数法则77
3.2.5代数解释程序79
3.3领域模型生命周期中的模式80
3.3.1工厂——对象从何处来82
3.3.2智能构造器82
3.3.3通过更有表现力的类型进一步提升智能84
3.3.4用代数数据类型聚合86
3.3.5用透镜更新聚合功能88
3.3.6仓储与解耦的永恒艺术94
3.3.7高效地使用生命周期模式——结论101
3.4总结102
4领域模型的函数式模式103
4.1模式——代数、函数、类型的聚合104
4.1.1领域模型中的挖掘模式106
4.1.2用函数式模式使领域模型参数化107
4.2强类型函数式编程中计算的基本模式112
4.2.1函子——建立模式112
4.2.2加强版函子模式114
4.2.3单子作用——applicative模式的变体121
4.3如何用模式对领域模型进行塑形130
4.4用代数、类型和模式演进API134
4.4.1代数——第一稿136
4.4.2改进代数137
4.4.3最终组合——采用类型138
4.5用模式和类型增强领域的不变性139
4.5.1贷款处理模型139
4.5.2使非法状态不可表示141
4.6总结142
5领域模型的模块化144
5.1将领域模型模块化145
5.2模块化的领域模型——案例学习146
5.2.1模块的解剖147
5.2.2模块的构成154
5.2.3模块的物理组织155
5.2.4模块鼓励组合156
5.2.5领域模型中的模块化——结论157
5.3类型类模式——模块化的多态行为157
5.4边界上下文的聚合模块160
5.4.1模块与边界上下文161
5.4.2边界上下文间的通信162
5.5模块化的另一个模式——free monad163
5.5.1账户存储163
5.5.2使它免费165
5.5.3账户存储——free monad167
5.5.4 free monad解释程序169
5.5.5 free monad——重点回顾172
5.6总结173
6响应式模型174
6.1响应式领域模型175
6.2使用future的非阻塞API设计177
6.2.1异步作为堆叠作用178
6.2.2基于monad转换器的实现181
6.2.3用并行存取降低延迟——一种响应式模式183
6.2.4使用scalaz.concurrent.Task作为响应式构造187
6.3明确的异步消息传递189
6.4流模式191
6.4.1一个案例191
6.4.2领域管道图195
6.4.3后端压力处理197
6.5 actor模型198
6.5.1领域模型与actor199
6.6总结203
7响应式流建模205
7.1响应式流模型206
7.2何时使用流模型207
7.3领域用例208
7.4基于流的领域交互208
7.5实现:前台210
7.6实现:后台211
7.7流模型的主要结论214
7.8使模型具有弹性215
7.8.1使用Akka Streams监管216
7.8.2冗余集群217
7.8.3数据的持久化217
7.9基于流的领域模型与响应式原则219
7.10总结220
8响应式持久化与事件溯源221
8.1领域模型的持久化222
8.2关注点分离224
8.2.1持久化的读/写模型225
8.2.2命令查询责任分离226
8.3事件溯源228
8.3.1事件溯源领域模型中的命令和事件229
8.3.2实现CQRS和事件溯源231
8.4实现事件溯源的领域模型(函数式)232
8.4.1作为头等实体的事件233
8.4.2命令是事件上的free monad235
8.4.3解释程序——隐藏所有有趣的东西237
8.4.4投影——读取端模型242
8.4.5事件存储243
8.4.6分布式CQRS——一个短信243
8.4.7实现的总结244
8.5其他持久化模型245
8.5.1将聚合作为ADT映射到关系型表245
8.5.2操作数据(函数式)247
8.5.3到Akka Streams管道的响应式获取248
8.6总结249
9测试领域模型250
9.1测试领域模型概述251
9.2设计可测试的领域模型252
9.2.1解耦副作用253
9.2.2为领域函数提供自定义解释程序254
9.2.3实现参数化与测试255
9.3基于xUnit的测试256
9.4回顾模型的代数257
9.5基于属性的测试258
9.5.1建模属性258
9.5.2验证领域模型中的属性259
9.5.3数据生成器264
9.5.4是否比基于xUnit的测试更好266
9.6总结267
10核心思想与原则268
10.1回顾268
10.2函数式领域建模的核心原则269
10.2.1表达式思想269
10.2.2早抽象,晚赋值270
10.2.3使用合适的抽象270
10.2.4发布要做什么,在组合器中隐藏如何做270
10.2.5从实现中解耦代数271
10.2.6隔离边界上下文271
10.2.7偏向future而不是actor271
10.3展望未来272