Functional C#

Uncover the secrets of functional programming using C# and change the way you approach your applications forever

Functional C#

Learning
Wisnu Anggoro

2 customer reviews
Uncover the secrets of functional programming using C# and change the way you approach your applications forever
$39.99
$49.99
RRP $39.99
RRP $49.99
eBook
Print + eBook

Instantly access this course right now and get the skills you need in 2017

With unlimited access to a constantly growing library of over 4,000 eBooks and Videos, a subscription to Mapt gives you everything you need to learn new skills. Cancel anytime.

Preview in Mapt

Book Details

ISBN 139781785282225
Paperback370 pages

Book Description

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

Chapter 1: Tasting Functional Style in C#
Introducing functional programming
Comparison between functional and imperative programming
Preparing the C# compiler
Concepts of functional programming
Feeling functional in C#
Transforming imperative code to functional code
The advantages and disadvantages of functional programming
Summary
Chapter 2: Walkthrough Delegates
Introducing delegates
Built-in delegates
Distinguishing variance in delegates
Summary
Chapter 3: Expressing Anonymous Methods with Lambda Expressions
Getting to know anonymous methods
Lambda expressions
Subscribing for events using lambda expressions
The advantages of using lambda expression in functional programming
Summary
Chapter 4: Extending Object Functionality with Extension Methods
Getting closer to extension methods
Calling extension methods in the other assemblies
Leveraging the interface, collection, and object
Advantages of using extension methods in functional programming
Limitations of the extension method
Summary
Chapter 5: Querying Any Collection Easily with LINQ
Getting started with LINQ
Deferring LINQ execution
Choosing between fluent syntax and query expression syntax
Enumerating standard query operators
Summary
Chapter 6: Enhancing the Responsiveness of the Functional Program with Asynchronous Programming
Building a responsive application
The asynchronous programming model pattern
The task-based asynchronous pattern
Asynchronous programming with the async and await keywords
Asynchronous functions in functional programming
Summary
Chapter 7: Learning Recursion
Exploring recursion
Using tail recursion
Recursion in a functional approach using LINQ Aggregate
Summary
Chapter 8: Optimizing the Code using Laziness and Caching Techniques
Introduction to laziness
Caching expensive resources
Summary
Chapter 9: Working with Pattern
Dissecting pattern matching in functional programming
Introducing Monad as a design pattern
Summary
Chapter 10: Taking an Action in C# Functional Programming
Developing functional programming in Windows forms
Summary
Chapter 11: Coding Best Practice and Testing the Functional Code
Coding best practices in functional C#
Separating the code from domain logic and mutable shell
Summary

What You Will Learn

  • Develop an application using the functional approach
  • Implement unit testing to functionally program code
  • Create efficient code using functional programming
  • Work through a LINQ query so you can work with data
  • Compose asynchronous programs to create a responsive application
  • Use recursion in function programming in order to simplify code
  • Optimize the program code using Laziness and Caching Techniques

Authors

Table of Contents

Chapter 1: Tasting Functional Style in C#
Introducing functional programming
Comparison between functional and imperative programming
Preparing the C# compiler
Concepts of functional programming
Feeling functional in C#
Transforming imperative code to functional code
The advantages and disadvantages of functional programming
Summary
Chapter 2: Walkthrough Delegates
Introducing delegates
Built-in delegates
Distinguishing variance in delegates
Summary
Chapter 3: Expressing Anonymous Methods with Lambda Expressions
Getting to know anonymous methods
Lambda expressions
Subscribing for events using lambda expressions
The advantages of using lambda expression in functional programming
Summary
Chapter 4: Extending Object Functionality with Extension Methods
Getting closer to extension methods
Calling extension methods in the other assemblies
Leveraging the interface, collection, and object
Advantages of using extension methods in functional programming
Limitations of the extension method
Summary
Chapter 5: Querying Any Collection Easily with LINQ
Getting started with LINQ
Deferring LINQ execution
Choosing between fluent syntax and query expression syntax
Enumerating standard query operators
Summary
Chapter 6: Enhancing the Responsiveness of the Functional Program with Asynchronous Programming
Building a responsive application
The asynchronous programming model pattern
The task-based asynchronous pattern
Asynchronous programming with the async and await keywords
Asynchronous functions in functional programming
Summary
Chapter 7: Learning Recursion
Exploring recursion
Using tail recursion
Recursion in a functional approach using LINQ Aggregate
Summary
Chapter 8: Optimizing the Code using Laziness and Caching Techniques
Introduction to laziness
Caching expensive resources
Summary
Chapter 9: Working with Pattern
Dissecting pattern matching in functional programming
Introducing Monad as a design pattern
Summary
Chapter 10: Taking an Action in C# Functional Programming
Developing functional programming in Windows forms
Summary
Chapter 11: Coding Best Practice and Testing the Functional Code
Coding best practices in functional C#
Separating the code from domain logic and mutable shell
Summary

Book Details

ISBN 139781785282225
Paperback370 pages
Read More
From 2 reviews

Read More Reviews