Functional Programming in C# : How to Write Better C# Code
內容描述
Summary
Functional Programming in C# teaches you to apply functional thinking to real-world problems using the C# language. The book, with its many practical examples, is written for proficient C# programmers with no prior FP experience. It will give you an awesome new perspective.
Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.
About the Technology
Functional programming changes the way you think about code. For C# developers, FP techniques can greatly improve state management, concurrency, event handling, and long-term code maintenance. And C# offers the flexibility that allows you to benefit fully from the application of functional techniques. This book gives you the awesome power of a new perspective.
About the Book
Functional Programming in C# teaches you to apply functional thinking to real-world problems using the C# language. You'll start by learning the principles of functional programming and the language features that allow you to program functionally. As you explore the many practical examples, you'll learn the power of function composition, data flow programming, immutable data structures, and monadic composition with LINQ.
What's Inside
Write readable, team-friendly code
Master async and data streams
Radically improve error handling
Event sourcing and other FP patterns
About the Reader
Written for proficient C# programmers with no prior FP experience.
About the Author
Enrico Buonanno studied computer science at Columbia University and has 15 years of experience as a developer, architect, and trainer.
Table of Contents
PART 1 - CORE CONCEPTS
PART 2 - BECOMING FUNCTIONAL
PART 3 - ADVANCED TECHNIQUES
Introducing functional programming
Why function purity matters
Designing function signatures and types
Patterns in functional programming
Designing programs with function composition
Functional error handling
Structuring an application with functions
Working effectively with multi-argument functions
Thinking about data functionally
Event sourcing: a functional approach to persistence
Lazy computations, continuations, and the beauty of monadic composition
Stateful programs and stateful computations
Working with asynchronous computations
Data streams and the Reactive Extensions
An introduction to message-passing concurrency