Java 语言中的函数编程
2009-11-12 00:00:00 来源:WEB开发网核心提示:Java 语言中常被忽视的一个方面是它被归类为一种命令式(imperative)编程语言,命令式编程虽然由于与 Java 语言的关联而相当普及,Java 语言中的函数编程,但是并不是惟一可用的编程风格,也不总是最有效的, 然后将它们组合在一起,函数编程的一些基本特点包括: 支持闭包和高阶函数,在本文中,我将探讨在 Ja
Java 语言中常被忽视的一个方面是它被归类为一种命令式(imperative)编程语言。命令式编程虽然由于与 Java 语言的关联而相当普及,但是并不是惟一可用的编程风格,也不总是最有效的。在本文中,我将探讨在 Java 开发实践中加入不同的编程方法 ── 即函数编程(FP)。
命令式编程是一种用程序状态描述计算的方法。使用这种范型的编程人员用语句改变程序状态。这就是为什么,像 Java 这样的程序是由一系列让计算机执行的命令 (或者语句) 所组成的。 另一方面, 函数编程是一种强调表达式的计算而非命令的执行的一种编程风格。表达式是用函数结合基本值构成的,它类似于用参数调用函数。
本文将介绍函数编程的基本特点,但是重点放在两个特别适用于 Java 开发框架的元素:闭包和高阶函数。如果您曾经使用过像 Python、Ruby 或者 Groovy 这样的敏捷开发语言,那么您就可能已经遇到过这些元素。在这里,您将看到在 Java 开发框架中直接使用它们会出现什么情况。我将首先对函数编程及其核心元素做一个简短的、概念性的综述,然后用常用的编程场景展示,用结构化的方式使用闭包和高阶函数会给 Java 代码带来什么好处。
什么是函数编程?
在经常被引用的论文 “Why Functional Programming Matters”中,作者 John Hughes 说明了模块化是成功编程的关键,而函数编程可以极大地改进模块化。在函数编程中,编程人员有一个天然框架用来开发更小的、更简单的和更一般化的模块, 然后将它们组合在一起。函数编程的一些基本特点包括:
支持闭包和高阶函数。
支持懒惰计算(lazy evaluation)。
更多精彩
赞助商链接