函数响应式领域建模

【美】Debasish Ghosh

出版时间

2017-12-31

ISBN

9787121323928

评分

★★★★★
书籍介绍
传统的分布式应用不会切入微服务、快速数据及传感器网络的响应式世界。为了捕获这些应用的动态联系及依赖,我们需要使用另外一种方式来进行领域建模。由纯函数构成的领域模型是以一种更加自然的方式来反映一个响应式系统内的处理流程,同时它也直接映射到了相应的技术和模式,比如Akka、CQRS 以及事件溯源。《函数响应式领域建模》讲述了响应式系统中建立领域模型所需要的通用且可重用的技巧——首先介绍了函数式编程和响应式架构的相关概念,然后逐步地在领域建模中引入这些新的方法,同时《函数响应式领域建模》提供了大量的案例,当在项目中应用这些概念时,可作为参考。
作者简介
译者简介 李源,曾在华为技术有限公司工作8 年,经历过开发、SE、PM和PQA等多个岗位,目前在途牛旅游网担任研发总经理一职,是美国质量协会(ASQ)注册质量工程师(CQE);译者有丰富的开发、架构设计及研发管理经验,先后负责过多个大型项目的方案设计和系统规划,对于C++、Java 以及设计模式等领域都有比较深入的研究;曾翻译《Java 性能调优指南》一书。
AI导读
核心看点
  • 融合DDD、函数式与响应式编程
  • 用纯函数构建可组合的领域模型
  • 结合Akka、CQRS等响应式技术
读者共识
  • 理念先进但门槛高,非FP熟手慎入
  • 翻译糟糕,部分术语令人困惑
  • 适合想深入理解函数式DDD的极客
精彩摘录
  • "在设计函数式领域模型时,需要遵守一些通用原则: · 将不可变模型建模为代数数据类型(algebraic data type, ADT)。 · 在模块中将行为建模为函数,这里的模块是指一个粗糙的业务功能单元(比如一个领域服务)。这样,就将状态从行为分离了出来。行为比状态更好组合。因此,在模块中包含相关的行为有助于提升组合性。 · 记住,模块里的行为对ADT中的类型起作用。"
  • "现在已经讨论了函数式编程的基本原则,这都有助于建立一个更好的领域模型——更好意味着可以使模型: ·利用函数组合的力量,用小函数组装成一个大函数,获得更好的组合性。 ·纯粹,领域模型的很多部分都有引用透明表达式组成,它们具备我们讨论的很多良好特性。 ·通过方程式推导,可以很容易地推导和验证领域行为。 下一节:让模型更具有响应性。"
  • "Jonas Boner...认为领域事件是: ·唯一定义的一个类型:在模型中,针对每个事件都有一个相应的类型。 ·自包含作为一个行为:每个领域事件都包含系统中刚发生变化的所有相关信息。 ·用户可见:模型中下游组件为了进一步的行为可以消费事件。 ·时间相关:这可能是领域事件最重要的特性。一个时间单调性被建立在事件流中。"
目录
1. 函数式领域建模:介绍.............................................................. 1
1.1 什么是领域模型 .............................................................................................. 2
1.2 领域驱动设计介绍 .......................................................................................... 4
1.2.1 边界上下文 .......................................................................................... 4
1.2.2 领域模型元素 ...................................................................................... 5

显示全部
用户评论
如果是想了解 FP 范式下的 DDD,更推荐 Domain Modeling Made Functional。这本书杂糅了 FP、DDD、Scala 等多个主题,书的内容组织本身缺乏「战略设计」,讲的都是围绕 Scala 的「战术设计」。另外这个翻译真的是有点机翻,非常影响一些关键概念的理解和把握,identity 翻译成身份,我 !@#$%^,直接把实体最重要的一个性质就这么给冲淡掉......
理论不少,实践也有,scala大法保平安
云里雾里…为了看这本书还特意看了一本讲scala的书…还是Eric Evans的书好读~不过听说大神们都很推崇EDA,FP…
(还好学过一点 scala,所以 scala 相关的概念并没有 block 读书的过程。 不错的书
这真是一本奇书,用函数式编程来实现以前面向对象编程拿手的领域功能开发。书中运用大量函数式编程技巧解决现实问题,但是没有详细介绍函数式编程基础知识,为了读懂书中的例子我又找其他书重新学习了一遍函数式编程,即使这样还是很多地方没有看懂。频繁使用Scala举例对其他语言开发人员也不够友好。
翻译糟糕
翻译实在太可怕了,特来吐槽
中文翻译出版那年看的,印象深刻的是看的时候作者前言里的二维码已经不能扫了,翻译有些小问题,但是可以读+感谢作者。书内容写的不错,适合对领域建模和 Scala 比较熟悉,想看看怎么结合的人。不过实话实说,所有的这系列都是 1/3 的 Scala 传教书。
下载
收藏