Book Image

Functional C#

Book Image

Functional C#

Overview of this book

Functional programming makes your application faster, improves performance, and increases your productivity. C# code is written at a higher level of abstraction, so that code will be closer to business requirements, abstracting away many low-level implementation details. This book bridges the language gap for C# developers by showing you how to create and consume functional constructs in C#. We also bridge the domain gap by showing how functional constructs can be applied in business scenarios. We’ll take you through lambda expressions and extension methods, and help you develop a deep understanding of the concepts and practices of LINQ and recursion in C#. By the end of the book, you will be able to write code using the best approach and will be able to perform unit testing in functional programming, changing how you write your applications and revolutionizing your projects.
Table of Contents (19 chapters)
Functional C#
Credits
About the Author
Acknowledgments
About the Reviewer
www.PacktPub.com
Customer Feedback
Preface

Chapter 9. Working with Pattern

In the previous chapter, we discussed optimizing code to develop efficient code. Now, we are going to discuss the pattern that will make our code flow in a regular order so that it will be easier to maintain and understand the flow of the program. The main topics we are going to discuss in this chapter are pattern matching and Monad as a design pattern. Pattern matching will match the condition using a mathematical approach so that we will get a functional taste of things. And Monad is an inseparable part of the functional programming since it's a design pattern for complex problems in software design. Using Monad, we can give more power to existing data types by amplifying their behavior. This chapter will look further into pattern matching and Monad, and we will discuss the following topics:

  • Understanding pattern matching in functional programming

  • Transforming data and switching decisions using pattern matching

  • Simplifying pattern matching in order to make...