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# 7 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.
Overview
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# 7 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.
Syllabus
- Course Overview 1min
- Challenging the Object-oriented Mindset 25mins
- Adding Functional-style Filters to Object Model 21mins
- Introducing Pure Functions to Object Design 23mins
- Memoization with Pure Functions 20mins
- Working with Pure Member Functions 22mins
- Pattern Matching with C# 7 23mins
- Metaprogramming with Extension Methods 23mins
- Function Composition with Object Model 25mins
- Understanding Railway-oriented Programming 22mins
- Handling Errors in Functional Style 27mins
Taught by
Zoran Horvat