1.4.1.3 声明式函数动画
函数式编程能够以声明式风格编写库来解决存在的问题,我们已经看到用 LINQ 处理数据,用WPF 处理用户界面;但在函数式编程中,通常是创建库来解决自己的问域。
我们前面提到过,声明式风格可以不考虑实现的细节,遗漏了一些东西。函数式编程没有任何神秘的力量,能为我们实现困难的部分。设计我们自己的库时,需要实现所有的技术细节;只是实现的细节隐藏在库中(就像 LI...
分类:
其他好文 时间:
2014-07-26 02:26:46
阅读次数:
240
最近由于项目需要,刚刚学完了Action委托和Func委托,发现学完了委托就必须学习lambda表达式,委托和Lambda表达式联合起来,才能充分的体现委托的便利、才能使代码更加简介、优雅。Lambda表达式"Lambda表达式"是一个匿名函数,是一种高效的类似于函数式编程的表达式,Lambda简化...
分类:
其他好文 时间:
2014-07-26 01:14:46
阅读次数:
268
1.3.5 函数风格如何形成代码
函数式编程范式无疑会对设计和实现应用程序产生影响,但是,这并不意味着一切要从头开始,因为今天正在使用的许多编程原则,同样适用于函数式应用程序,特别是在设计层,如何组织应用程序方面,尤其如此。
函数式编程在实现层可能彻底改变了解决问题的方法。当然,学习使用函数式编程思想,不必马上就实现彻底改变。在 C# 中学到有效使用方法,在 F# 中,对等效的结构同样适...
分类:
其他好文 时间:
2014-07-23 17:02:26
阅读次数:
212
1.4 函数式编程示例
下面的这些示例表明,函数式编程并不是任何意义上的理论学科,你会发现,甚至可能通过现有的 .NET 方法,应用了一些函数式思想。阅读有关函数式编程的内容,将有助于更深层次地理解这些技术,并高效地使用。在这书的后面,我们还将通过一些示例来展示函数式风格重要的实际好处。在第一组示例中,我们将探讨声明式编程。...
分类:
其他好文 时间:
2014-07-23 16:39:44
阅读次数:
208
1.3.4 设计并发友好的应用程序
使用传统的命令风格编写多线程应用程序时,我们要面对两个问题:
■很难让现有的顺序代码变成并行的代码,因为要显式使用线程,必须修改大部分的基本代码。
■使用共享状态和锁定是困难的。必须仔细考虑如何使用锁来避免争用条件和死锁,留下足够的空间并行执行。
函数式编程给了我们答案:
■使用声明编式程风格时,可以在现有的代码中引入并行。替换很少几个基元,就能...
分类:
其他好文 时间:
2014-07-23 00:12:17
阅读次数:
229
1.3.1 函数范式
函数式编程是一种编程范式,它定义了我们在思考问题时可以使用的概念,但它不能精确地指定如何用编程语言来表达这些概念。因此,就有了许多函数语言,每一种语言强调了函数风格不同方面和特征。
我们可以用一种比较熟悉的范式,面向对象编程(object-oriented programming,OOP)来类比。在面向对象的风格中,我们思考问题是以对象为出发点。每一种面向对象的语言...
分类:
其他好文 时间:
2014-07-22 22:39:34
阅读次数:
219
1.3 用函数式编程提高生产力
很多人觉得函数式编程优雅或甚至是漂亮,但这很难成为在商业环境中使用的一个好理由。优雅不能当钞票,真的不幸。用函数风格编程的主要原因是让你和你的团队工作更高效。
在本节,我们将看到函数式编程带来的主要优势,解释它是如何解决一些现代软件开发最重要问题的。在探索具体的好处之前,我们先宏观地来看一下。函数式编程并未严格界定,因为函数式思想可以有不同的形式。...
分类:
其他好文 时间:
2014-07-22 22:39:33
阅读次数:
175
1.3.2 声明式编程风格
用声明式编程风格,我们表达的程序逻辑无需说明执行细节。这个描述听起来有些耳熟,因为它十分类似于我们在 1.1 节中看到的函数式编程的定义。但声明式编程是更为一般的概念,可以使用不同技术来实现;函数式编程只是实现这一目标的一种方法。我们看一个演示,如何用函数语言编写声明性代码。
我们写程序,要以计算机所理解的词汇,向它解释我们的目标,在命令式语言中,这由命令组成...
分类:
其他好文 时间:
2014-07-22 22:34:16
阅读次数:
242
Lambda表达式
"Lambda表达式"是一个匿名函数,是一种高效的类似于函数式编程的表达式,Lambda简化了开发中需要编写的代码量。它可以包含表达式和语句,并且可用于创建委托或表达式目录树类型,支持带有可绑定到委托或表达式树的输入参数的内联表达式。所有Lambda表达式都使用Lambda运算符=>,该运算符读作"goes to"。Lambda运算符的左边是输入参数(如果有),右边是表达式或...
分类:
其他好文 时间:
2014-07-21 23:28:11
阅读次数:
235
1简介GCC 的意思也只是 GNU C Compiler 而已。经过了这么多年的发展,GCC 已经不仅仅能支持 C 语言;它现在还支持 Ada 语言、C++ 语言、Java 语言、Objective C 语言、Pascal 语言、COBOL语言,以及支持函数式编程和逻辑编程的 Mercury 语言,...
分类:
系统相关 时间:
2014-07-19 14:19:12
阅读次数:
359