Functional Programming in C#, 2/e (Paperback)

Buonanno, Enrico

買這商品的人也買了...

相關主題

商品描述

Real world examples and practical techniques for functional programming in C# without the jargon and theory.

In Functional Programming in C#, Second Edition you will learn how to:

Use higher-order functions to reduce duplication and do more with less code
Use pure functions to write code that is easy to test and optimize
Write pleasant APIs that accurately describe your program's behavior
Use dedicated types to handle nullability, system errors, and validation rules predictably and elegantly
Write composable code without the overhead of an IoC container

Functional Programming in C# has helped thousands of developers apply functional thinking to C# code. Its practical examples and spot-on treatment of FP concepts makes it the perfect guide for proficient C# programmers. This second edition is fully revised to cover new functional-inspired features in the most recent releases of C#, including tuples, async streams, pattern matching, and records. Each chapter is packed with awesome perspectives and epiphany moments on how functional programming can change the way you code.

Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

About the technology
Turbocharge your C# code. Good functional techniques will improve concurrency, state management, event handling, and maintainability of your software. This book gives you practical answers to why, how, and where to add functional programing into your C# coding practice.

About the book
Functional Programming in C#, Second Edition teaches functional thinking for real-world problems. It reviews the C# language features that allow you to program functionally and through many practical examples shows the power of function composition, data-driven programming, and immutable data structures. All code examples work with .NET 6 and C# 10.

What's inside

Higher-order functions reduce duplication and do more with less code
Code based on pure functions is easy to test and optimize
Write pleasant APIs that accurately describe your program's behavior
Write a Web API in a functional style
Monadic composition with LINQ

About the reader
For intermediate C# programmers.

About the author
Enrico Buonanno studied Computer Science at Columbia University and has over 15 years of experience as a developer, architect, and trainer.

Table of Contents
PART 1 GETTING STARTED
1 Introducing functional programming
2 Thinking in functions
3 Why function purity matters
PART 2 CORE TECHNIQUES
4 Designing function signatures and types
5 Modeling the possible absence of data
6 Patterns in functional programming
7 Designing programs with function composition
PART 3 FUNCTIONAL DESIGNS
8 Functional error handling
9 Structuring an application with functions
10 Working effectively with multi-argument functions
11 Representing state and change
12 A short introduction to functional data structures
13 Event sourcing: A functional approach to persistence
PART 4 ADVANCED TECHNIQUES
14 Lazy computations, continuations, and the beauty of monadic composition
15 Stateful programs and stateful computations
16 Working with asynchronous computations
17 Traversable and stacked monads
18 Data streams and the Reactive Extensions
19 An introduction to message-passing concurrency

商品描述(中文翻譯)

在不使用行話和理論的情況下,提供C#函數式編程的真實世界示例和實用技巧。

在第二版的《C#函數式編程》中,您將學習以下技巧:

使用高階函數減少重複代碼並以更少的代碼完成更多工作
使用純函數編寫易於測試和優化的代碼
編寫準確描述程序行為的良好API
使用專用類型可預測且優雅地處理空值、系統錯誤和驗證規則
編寫可組合的代碼,無需IoC容器的開銷

《C#函數式編程》幫助了成千上萬的開發人員將函數式思維應用於C#代碼。其實用示例和對FP概念的準確處理使其成為熟練的C#程序員的完美指南。本第二版完全修訂,涵蓋了C#最新版本中的新功能,包括元組、異步流、模式匹配和記錄。每一章都充滿了關於函數式編程如何改變您編碼方式的令人驚嘆的觀點和頓悟時刻。

購買印刷版書籍可獲得Manning Publications提供的PDF、Kindle和ePub格式的免費電子書。

關於技術
加速您的C#代碼。良好的函數式技術將改善軟件的並發性、狀態管理、事件處理和可維護性。本書為您提供了實用的答案,解釋了為什麼、如何以及在哪裡將函數式編程添加到您的C#編碼實踐中。

關於本書
《C#函數式編程》第二版教授實際問題的函數式思維。它回顧了C#語言功能,使您能夠以函數式方式編程,並通過許多實用示例展示了函數組合、數據驅動編程和不可變數據結構的威力。所有代碼示例均適用於.NET 6和C# 10。

內容簡介

使用高階函數減少重複代碼並以更少的代碼完成更多工作
基於純函數的代碼易於測試和優化
編寫準確描述程序行為的良好API
以函數式風格編寫Web API
使用LINQ進行單子組合

讀者對象
中級C#程序員。

關於作者
Enrico Buonanno在哥倫比亞大學學習計算機科學,擁有超過15年的開發、架構和培訓經驗。

目錄
第1部分 入門
1 介紹函數式編程
2 函數思維
3 函數純度的重要性
第2部分 核心技術
4 設計函數簽名和類型
5 建模可能缺失的數據
6 函數式編程中的模式
7 使用函數組合設計程序
第3部分 函數式設計
8 函數式錯誤處理
9 使用函數結構化應用程序
10 有效處理多參數函數
11 表示狀態和變化
12 函數式數據結構簡介
13 事件溯源:一種函數式的持久化方法
第4部分 高級技術
14 懶計算、繼續和單子組合的美
15 有狀態程序和有狀態計算
16 使用異步計算
17 可遍歷和堆疊的單子
18 數據流和反應式擴展
19 消息傳遞並發簡介

作者簡介

Enrico Buonanno studied computer science at Columbia University and has over 15 years of experience as a developer, architect, and trainer.

作者簡介(中文翻譯)

Enrico Buonanno在哥倫比亞大學學習計算機科學,並擁有超過15年的開發、架構和培訓經驗。