第三部分 F# 高级编程技术

第三部分 F# 高级编程技术

 

    在第二部分,我们讨论了大多数函数语言常见的函数概念。现在可以说你已经理解了函数式编程,就像你在阅读了封装、继承和多态性以后,可以说熟悉面向对象一样。在你成为有效的面向对象的开发人员之前,还需要学习其他一些内容,在 F# 中的函数编程没有什么不同。

    就像每种面向对象的语言各有特色一样,在 F# 中也有一些其他函数语言中通常没有的有用功能。当我们在第九章讨论有关对象类型和成员时,会看到这方面的第一个示例。在 .NET 世界中,F# 是一等公民,我们能够使用和申明标准的 .NET 对象。我们将看到如何将标准的函数代码封装成对象,在迭代开发风格中,这往往是下一步。对象提供更好的方法来结构化代码,并使从 C# 中使用 F# 函数更容易。

    我们还将讨论适合于函数式 F# 代码的最佳做法。在第十章,我们会探讨优化 F# 程序的方法。解释如何防范使用递归时的堆栈溢出,提供改进程序性能的技术。第十一章,我们将讨论重构和单元测试,有两种做法现在被认为是几乎任何语言或编程范式所必不可少的。特别是,我们会看到不变性对这两个领域的影响。

    第十二章中,我们将讨论更好的用于处理序列或集合值方法,以及关于单子(monads),在编程语言中最神秘的术语,但是,你会看到它们实际上不那么复杂。在某种意义上,它就是一种设计模式,用更简单的片段构成代码,因此,单子的作者可以指定额外的方面或行为,由用户添加到写的片段中。你将看到,我们一直在使用这种模式,我们没有明确说出来。

    在读完本书的这一部分之后,一般情况下,你将能够写出高效的函数程序,而且可以利用多语言功能,特另是 F#。你也会知道如何使用 .NET 平台的函数编程,这包括能够组合函数、面向对象和命令风格的能力,而且,使用标准技术来编写和测试代码。读完这部分后,就可以成功开始寻找一份 F# 程序员的工作。我们当然不建议你就跳过第四部分,它将显示如何组合我们本书中讨论的所有函数式技巧的示例。

你可能感兴趣的:(职场,休闲,编程技术,多态性)