Functional Programming Deep Dive with C#
Take your code to the next level of maintainability, efficiency/concurrency, and ease-of-understanding. Learn the principles of functional programming, how and where to apply it in C#, and why it will make you a better programmer. Improve your software’s architecture and leapfrog your code quality over that of your peers.
What You’ll Learn
- Why functional programming is useful
- How to apply functional principles and patterns in C#. In new or legacy code.
- Design and Implement Immutable Types and Maybes/Options (Null values)
- Writing Pure Functions (functions without side effects)
- Using recursion with functional programming paradigms to simplify your code
- Using Lambdas to clean up code and condense logic
- Handle errors in functional style
- Utilizing extension methods to write fluent, easy to read code.
- Make use of new C# 9 features in functional style
Course Explanation
Requirements/Prerequisites
- Solid understanding of C# and the following concepts:
- Delegates
- Lambda functions
- Event Handlers
- The Func and Action classes
- Imperative vs. Declarative programming
- Visual Studio 2019 Community Edition
- An open mind and a willingness to learn
- Note: This course is not for C# beginners. Little time is spent on beginner language features.
Who this course is for
- Experienced programmers looking to expand their knowledge further
- Programmers that understand that their code can be better, but aren’t sure how to get there
- Programmers that have heard about functional programming and its benefits and want to learn to apply it in their own careers
Course Description
Learn how to apply function paradigms and patterns to codebases in C#. If you want to improve the maintainability, understand-ability, stability, and terseness of your code; this course will help you do that. This is meant for experienced C# developers that already have a solid, moderately deep understanding of the C# language.
Each video will introduce a concept, and lay out an example of implementing that concept.
If you want to improve your code’s quality, make your application faster and easier to understand, and increase your own productivity, then this course will help you tremendously.
Teaching Style
All the videos are short, to-the-point, and avoid fluff.
The course covers the following topics:
- Theoretical Foundations of Functional Programming
- Core Concepts of Functional Programming
- Functional Features in C# (C# 9 included)
- Immutability, Extensibility, and Extend-ability in C#
- Dealing with Errors and Nulls gracefully
Course Keywords:
- C# Clean Code
- C# Best Practices
- Functional Programming in C#
- C# Functional Programming
- Clean Code in C# tutorial
- C# 9.0 Features
- Design Patterns in C#
