函数响应式领域建模 - 【美】Debasish Ghosh

函数响应式领域建模

【美】Debasish Ghosh

出版时间

2017-12-31

ISBN

9787121323928

评分

★★★★★
AI导读
核心看点
  • 融合DDD、函数式与响应式编程
  • 用纯函数构建可组合的领域模型
  • 结合Akka、CQRS等响应式技术
适合谁读
  • 熟悉Scala及函数式编程的开发者
  • 探索响应式架构与领域建模的工程师
  • 对DDD与函数式结合感兴趣的读者
读前提醒
  • 需具备函数式编程基础,否则难懂
  • 翻译质量参差不齐,建议对照原文
  • 后半部分略显冗长,可结合实践读
读者共识
  • 理念先进但门槛高,非FP熟手慎入
  • 翻译糟糕,部分术语令人困惑
  • 适合想深入理解函数式DDD的极客

本导读基于书籍简介、目录、原文摘录、短评和书评生成,不等同于全文精读。

精彩摘录
  • "在设计函数式领域模型时,需要遵守一些通用原则: · 将不可变模型建模为代数数据类型(algebraic data type, ADT)。 · 在模块中将行为建模为函数,这里的模块是指一个粗糙的业务功能单元(比如一个领域服务)。这样,就将状态从行为分离了出来。行为比状态更好组合。因此,在模块中包含相关的行为有助于提升组合性。 · 记住,模块里的行为对ADT中的类型起作用。"
  • "现在已经讨论了函数式编程的基本原则,这都有助于建立一个更好的领域模型——更好意味着可以使模型: ·利用函数组合的力量,用小函数组装成一个大函数,获得更好的组合性。 ·纯粹,领域模型的很多部分都有引用透明表达式组成,它们具备我们讨论的很多良好特性。 ·通过方程式推导,可以很容易地推导和验证领域行为。 下一节:让模型更具有响应性。"
  • "Jonas Boner...认为领域事件是: ·唯一定义的一个类型:在模型中,针对每个事件都有一个相应的类型。 ·自包含作为一个行为:每个领域事件都包含系统中刚发生变化的所有相关信息。 ·用户可见:模型中下游组件为了进一步的行为可以消费事件。 ·时间相关:这可能是领域事件最重要的特性。一个时间单调性被建立在事件流中。"
作者简介
译者简介 李源,曾在华为技术有限公司工作8 年,经历过开发、SE、PM和PQA等多个岗位,目前在途牛旅游网担任研发总经理一职,是美国质量协会(ASQ)注册质量工程师(CQE);译者有丰富的开发、架构设计及研发管理经验,先后负责过多个大型项目的方案设计和系统规划,对于C++、Java 以及设计模式等领域都有比较深入的研究;曾翻译《Java 性能调优指南》一书。
目录
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 传教书。
下载
收藏