Author: Gene Belitski
Pub Date: 2016
Size: 10 Mb
Learn how to apply functional F# design patterns to a huge range of programming challenges, and discover a smart route to building better applications
Following design patterns is a well-known approach to writing better programs that captures and reuses high-level abstractions that are common in many applications. This book will encourage you to develop an idiomatic F# coding skillset by fully embracing the functional-first F# paradigm. It will also help you harness this powerful instrument to write succinct, bug-free, and cross-platform code.
F# 4.0 Design Patterns will start off by helping you develop a functional way of thinking. We will show you how beneficial the functional-first paradigm is and how to use it to get the optimum results. The book will help you acquire the practical knowledge of the main functional design patterns, the relationship of which with the traditional Gang of Four set is not straightforward.
We will take you through pattern matching, immutable data types, and sequences in F#. We will also uncover advanced functional patterns, look at polymorphic functions, typical data crunching techniques, adjusting code through augmentation, and generalization. Lastly, we will take a look at the advanced techniques to equip you with everything you need to write flawless code.
What You Will Learn
- Acquire the practical knowledge to use the main functional design patterns
- Realign some imperative and object-oriented principles under the functional approach
- Develop your confidence in building and combining first-order and higher-order functions
- Learn to use core language pattern matching effectively
- Make use of native F# algebraic data types in place of custom-built classes
- Recognize and measure the difference in resource consumption between sequences and materialized data collections
- Navigate and use F# Core libraries with ease by seeing patterns behind specific library functions
- Master writing generic polymorphic code
This book is for .NET developers, web programmers, C# developers, and F# developers. So, if you have basic experience in F# programming and developing performance-critical applications, then this book is for you.
Table of Contents
1. Begin Thinking Functionally
2. Dissecting F# Origins and Design
3. Basic Functions
4. Basic Pattern Matching
5. Algebraic Data Types
6. Sequences – The Core of Data Processing Patterns
7. Advanced Techniques: Functions Revisited
8. Data Crunching – Data Transformation Patterns
9. More Data Crunching
10. Type Augmentation and Generic Computations
11. F# Expert Techniques
12. F# and OOP Principles/Design Patterns
13. Troubleshooting Functional Code