Get flash to fully experience Pearltrees
Commons Functor: Function Objects for Java A functor is a function that can be manipulated as an object, or an object representing a single, generic function. Functors support and encourage a number of powerful programming techniques including: programming in a functional style higher order functions internal iterators reuse and specialization through composition rather than inheritance and overloading generic "callback" or "extension point" APIs generic "filters" or predicate APIs many "behavioral" design patterns, such as Visitor, Strategy, Chain of Responsibility, etc. See the examples for more information on some of these techniques.
One aspect of the Java language that is often overlooked is its classification as an imperative programming language. While fairly ubiquitous through its association with the Java language, imperative programming is not the only choice of programming style, nor is it always the most effective one. In this article, I will explore the potential of incorporating elements of a different programming methodology into your Java development practices; namely that of functional programming (FP).