Making Your C# Code More Functional

With lots of new functional syntax in C#, programmers may struggle to find proper place for it in their notoriously object-oriented code. This course unveils the mystery and puts OO and functional design elements in the right proportion.
Course info
Rating
(134)
Level
Intermediate
Updated
Jan 24, 2018
Duration
3h 55m
Table of contents
Course Overview
Challenging the Object-oriented Mindset
Adding Functional-style Filters to Object Model
Introducing Pure Functions to Object Design
Memoization with Pure Functions
Working with Pure Member Functions
Pattern Matching with C# 7
Metaprogramming with Extension Methods
Function Composition with Object Model
Understanding Railway-oriented Programming
Handling Errors in Functional Style
Description
Course info
Rating
(134)
Level
Intermediate
Updated
Jan 24, 2018
Duration
3h 55m
Description

Mixing paradigms in modern C# is not an easy endeavor. New functional syntax has its place, but not in every piece of code and every design. In this course, Making Your C# Code More Functional, you will first learn how functional thinking can have positive effect on your software design, while still letting the design remain on the object-oriented side. Next, you will discover how you can leverage new functional syntax to solve problems which are hard to solve using pure object-oriented techniques. Finally, more than anything else, you will have the opportunity to see where the danger of misusing functional coding style lies in object-oriented code. By the end of this course, you should feel comfortable about functional thinking style in object-oriented code, for the better of your designs.

About the author
About the author

Zoran Horvat is Principal consultant at Coding Helmet Consultancy, speaker and author of 100+ articles, and independent trainer on .NET technology stack.

More from the author
Mastering Object-oriented Programming in Java
Intermediate
3h 21m
Nov 6, 2019
Making Your Java Code More Object-oriented
Intermediate
2h 13m
Aug 26, 2019
Writing Purely Functional Code in C#
Advanced
4h 15m
May 23, 2018
More courses by Zoran Horvat
Section Introduction Transcripts
Section Introduction Transcripts

Course Overview
Hi everyone, my name is Zoran Horvat, and welcome to my course Making Your C# Code More Functional. I'm a principal consultant at Coding Helmet. I've been programming in. NET languages since their inception, and I've seen dramatic transformation of the platform over the years. I'm happy to see it make big leaps towards functional programming lately. In this course, we are going to investigate the latest advancements in the C# language. Some of the major topics that we will cover include functional syntax in C# version 7, practical principles of functional design, guidelines on coding style, and plenty of practical coding tricks. By the end of this course, you will know why and when exactly would you want to use functional design in C#, and more than anything you will know how to make functional design and functional syntax work for you rather than turning into an obstacle. Before beginning the course, you should be familiar with common functional elements in C#, such as delegates and LINQ. From here, you should feel comfortable diving into multi-paradigm programming with C# with courses on functional object-oriented programming, and courses on design principles. I hope you will join me on this journey to learn practical functional programming in C# with the Making Your C# More Functional course at Pluralsight.