Patterns in Functional Design

The term Functional Design showed up only with the rise of Object Oriented Design. Till then, it was just the most obvious way of designing an application. It had evolved ground up - from a few hundred lines to millions. With the development, people had formulated some patterns in design. These were just commonly used patterns that people shared as they found useful. They were evaluated on the speed of execution much more than any other parameter.

It is important to understand that functional architecture is not in any way less than object oriented design. It is just another way of looking at the problem. Some problems are simpler with functional design and some with object oriented design. It is very important to identify the difference and apply it accordingly.

It is also true that they are not limited to languages. Yes, some languages provide better features for object oriented code and others for functional code. But that does not impose a particular design pattern.

Principally, functional programming separates the functionality from data. Hence, the functional design patterns are classified into Data Structures and Algorithms.