当前位置:首页 > 范文 > 《函数响应式领域建模》读后感1000字

《函数响应式领域建模》读后感1000字

格式:DOC 上传日期:2024-09-09 21:35:31
《函数响应式领域建模》读后感1000字
时间:2024-09-09 21:35:31   小编:

《函数响应式领域建模》是一本深入探讨函数式编程与响应式编程结合的书籍。作者通过实例分析,详细介绍了如何在领域建模中运用函数响应式编程的思想,使得系统更加灵活、可维护性更高。这本书为程序员提供了宝贵的思路和方法,帮助他们更好地应用函数响应式编程。

函数响应式领域建模读后感(一)

如果你学过带类型函数式编程(Typed Functional Programming)又苦于不知如何应用,那这本书将十分适合你。

这本书以Scala为例,提出了一种函数式的DDD设计方法——通过分离代数(algebra)与实现,设计出可组合、可推导、易测试的系统。这种设计方法具有普适性,同样适用于Rust、Haskell...

缺点嘛,这本书出版有点久了,用的scala和akka版本较低。特别是akka,与新版api差异很大(2021-04-05),我都是浏览过去。

函数响应式领域建模读后感(二)

说来惭愧,这本书是凑单的时候顺手买的,正所谓“买书如山倒,读书如抽丝”,买了以后就一直放着吃灰。上周末随手一翻,我去,还挺有趣!于是用两个周末 + 一周的空闲时间把这本书读完了。 本书主要涉及三个方面的内容: * 领域驱动设计 * 函数式编程 * 反应式设计 并以个人银行为例,将三者有机地结合到了一起。 我读书速度是比较慢的,但我对后两个主题还算比较了解,所以很快就读完了,不过如果你对函数式编程(类型系统、typeclass 等)不了解,这书估计是读不下去的 :) 如果你学过 Scala,熟悉函数式编程,对 typeclass 有所了解,但不知道如何把这些貌似高深的 functor、applicative、monad 和 free monad 等用于实际的领域建模,那不用犹豫,马上买一本回家,第 3、4、5 章会告诉你你疑惑的一切。 如果你精通函数式编程,但不了解 Akka,这书也可以充当 Akka 的入门书,第 6、7、8 章会介绍如何用 Akka Stream 建模,以及如何实现 CQRS(命令查询责任分离)和 Event Sourcing(事件溯源)。 第九章以 ScalaCheck 为例普及了下基于属性的测试,只用过 JUnit 的同学可以拿来开开眼界,《Scala 函数式编程》专门用一章实现了一个类似的测试框架,有兴趣的读者可以看看。 最后关于翻译质量,我在阅读过程中,大约发现有 20+ 处翻译错误,比如 ad-hoc polymorphism 翻译成“自组织多态性”、抛出异常翻译成“抛出例外”等等,因此最好带着批判的眼光阅读,综合打 75 分吧。

函数响应式领域建模读后感(三)

这本书名为 Functional And Reactive Domain Modeling,主要是将 DDD (Domain Driven Design)、Functional Programming 和 Reactive Pattern 整合在一起应用在分布式环境中,这个话题本身是非常有趣的,尤其是当下 IoT 行业正在成形的当下,我们或许需要一种能够应对真实世界中持续变化的业务,同时支持大数据的流式响应,最好足够优雅、可靠的编程范式。

老实说,这本书的阅读体验并不好,倒不是书本身的问题,而是我对 Functional Programming 的一些概念理解得太浅薄了。而本书 FP 的比重极高(以至于对 DDD 和 React 讲得很浅),且在讲解领域模型的函数式模式时高度依赖于 scalaz 这个库,导致看到 5.5 引入 Free Monad 概念的时候彻底蒙圈了——我不得不先去看了《Functional Programming in Scala》的第一部分,才算是比较顺畅地继续读了下来。

本书非常强调如何应用 FP 在底层遵循某些原则进行合适的抽象,比如:将参数 Currying 便于依赖注入或测试,利用 Functor、Applicative 和 Monad 构建 ADT (Abstract Data Type),使用 Typeclass 和 Free Monad 模块化代数,基于 Trait 和 Kleisli Arrow 形成强大、简洁的组合器。这对我来说还是蛮新鲜的一件事:此前我惯常使用 Java 实践 DDD,确实偶尔会遇到因为语言本身表现力不足导致某些实现过于「笨拙」的情况;虽然 Java 的简单质朴对于绝大多数工程实践来说都已经足够,但掌握 FP 的设计模式应用在实际工程中还是蛮有诱惑力的一件事。

本书虽然讨论了响应式模型,并引入 Akka Stream 进行流建模,或是应用在 CQRS 和 Event Sourcing 中,但只是点到为止。此外,由于篇幅限制,本书没有深入阐述 FP 中设计模式的本质,只是探讨了应用时的基本原则。但是引用资料非常丰富,我并没有一一查看,只当做一个引子,之后再深入了解。

本书结尾的展望部分,也提及 Scala 在数学验证模型领域并不是那么「纯粹」、Shapeless 的实现略显冗长,或许 Haskell 是一个更令人期待的方案——我想这对于实际技术栈,尤其是对接海量的外界组件是一个巨大的挑战,但是 think more and write less 确实是足够优雅的编码方式。

还剩页未读,是否继续阅读? 继续免费阅读

下载此文档

范文

Powered 2024 版权所有 ICP备666666号

付费下载
付费获得该文章下载权限
限时特价 2.00
原价:¥10.00
在线支付
付费复制
付费后即可复制文档
特价:2.00元 原价:10.00元
微信支付
x
提示:如无需复制,请不要长按屏幕影响阅读体验
付费下载
付费后即可下载文档
特价:2.00元 原价:10.00元
微信支付
x
付费下载
扫一扫微信支付
支付金额:2.00