In this chapter, we examined the functional design pattern category and eight specific design patterns. We learned that functional design patterns are not the same as functional programming and that they are both considered programming paradigms. The term functional design patterns refers to the use of functional programming to solve computational problems. The functional design patterns covered in this chapter were the execute around pattern, the lambda pattern, the loan pattern, the MapReduce pattern, the memoization pattern, the streams pattern, and the tail call pattern.
In the next chapter, Reactive Design Patterns, we will explore the reactive design pattern category and its individual design patterns of asynchronous communication, autoscaling, bounded queue, bulkhead, caching, circuit breaker, event-driven communication, fail fast, failure handling, fan-out and...