第四部分 函数式编程

第四部分 函数式编程



虽然函数式编程肯定是优雅的,但是,你可能更感兴趣的是其实用目的:作为一种通用的风格,是有用的,在某些问题域中,它肯定是出色的。我们已经看到的例子,比如,第 4 章中绘制饼图的应用程序,和第 11 章中简单的照片浏览器,这些示例的主要目的是,为了演示特定的概念和技术。

第四部分则不同。在每一章中,我们将花大量时间,讨论实际问题,使用最适当的 F# 特点和函数式编程来解决。这些代码将使用我们到目前为止看到的多项功能,限制在一章中会比较复杂。

函数式编程在两个相关的领域有明显优点:异步(asynchronous)和并行(concurrent)编程。

第 13 章,我们将讨论有关异步编程,但在更大的现代数据驱动编程的环境中。我们将以异步方式获取数据,以交互方式,浏览其结构,用 Excel 呈现结果。

第 14 章,我们会把注意力放到并行编程,这是函数式编程的亮点:不可变性规避了修改共享状态的问题,所以,以函数式风格写的程序更容易并行化。

第 15 章,我们将探讨使用组合(composition)的原理,开发函数库。迄今为止,我们所见过的很多函数式功能,都是利用这种原理构建的。其概念是,我们可以提供少量的容易理解的基元,以非常丰富的方式组合在一起。然后,我们可以使用这些基元去构建复杂的结果,而不必指定任何实现的细节。为了演示如何设计遵循这一原则的库,我们将创建一个用于描述动画的库,会还简要说一个有关金融的例子。

第 16 章,我们将讨论需要响应不同事件的应用程序。这是一个广泛的主题:由用户界面生成事件,或需要收集用户信息,并向用户显示数据的后台任务。

在第 13 和 16 章,我们将使用 F# 功能,是很难用 C# 写的,所以,这些示例将只使用 F#。第 14 和 15 章,只构建在函数式编程标准方面之上,比如,不可变性、高阶函数,或者把重点放在写可组合的代码。这意味着,大部分的代码可以用 F# 和 C# 写。不像本书的前面早期部分,为了演示具体的概念,我们经常只使用 C#,这次,写的代码将会更加接近实际,可以解决业务问题,使用函数的概念来激发设计。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值