gpt4 book ai didi

scala - 您能推荐一些关于 Scala 哲学和程序设计的好的介绍吗?

转载 作者:行者123 更新时间:2023-12-03 04:52:47 25 4
gpt4 key购买 nike

在 Java 和 C++ 中,设计程序的对象层次结构非常明显。但刚开始使用 Scala 时,我发现自己很难决定定义哪些类来更好地利用 Scala 的语法糖设施(甚至不知道应该如何设计以获得更好的性能)。关于这个问题有什么好的读物吗?

最佳答案

我已经读了4本关于Scala的书,但我还没有找到你想要的东西。我想您已经阅读过 Odersky (Artima) 的《Scala 编程》。如果没有,这是在线版本的链接:

http://www.docstoc.com/docs/8692868/Programming-In-Scala

本书给出了许多如何在Scala中构建面向对象模型的示例,但所有示例的类数量都非常少。我不知道有哪本书会教您如何使用 Scala 构建大型系统。

  • 命令式面向对象自 Smalltalk 以来就已存在,所以我们对这个范例了解很多。
  • 函数式面向对象另一方面,这是一个相当新的概念,所以几年后我期待书籍描述大规模 FOO 系统出现。无论如何,我认为PiS书给了你一幅很好的图画如何将基本的组合在一起系统的构建 block ,例如工厂模式,如何替换具有功能的策略模式文字等等。

Viktor Klang 曾经告诉我的一件事(也是我非常同意的事情)是 C++/Java 和 Scala OO 之间的一个区别是,当您使用 Scala 时,您定义了更多(更小的)类。为什么?因为你能! case class 的语法糖在定义类时导致非常小的损失,无论是在代码的类型还是可读性方面。正如您所知,许多小类通常意味着更好的 OO(更少的错误),但性能更差。

我注意到的另一件事是,在处理不可变对象(immutable对象)时,我更多地使用工厂模式,因为实例的所有“更改”都会导致创建一个新实例。感谢上帝为 case 类 提供了 copy() 方法。这种方法使工厂方法变得更短。

我不知道这是否对你有帮助,但我自己认为这个主题很有趣,我也等待更多关于这个主题的文献。干杯!

关于scala - 您能推荐一些关于 Scala 哲学和程序设计的好的介绍吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3613853/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com