从一周开始,我正在阅读Scala编程。 作者一步一步地介绍了语言的元素,但是我仍然很困惑何时使用演员,闭包,currying等功能性的东西......
我正在寻找功能性结构的典型用例或最佳实践的目录。
我的意思并不是像Scala那样重新实现像GoF这样众所周知的模式
答案 0 :(得分:9)
对于什么时候使用闭包或者currying感到困惑,就像对何时使用类感到困惑一样。它们只是语言的一部分,可以满足您的任何任务。当OO首次达到主流时,几乎同样的问题被问到了课程。
至于演员,他们是一个分布式编程范例 - 而不是,请注意,语言本身的一部分。当你想利用并发性时,它们被使用,你的应用程序不需要在并发进程之间共享状态,也不主要面向并行处理。