Advanced C#: Functional Programming Patterns

Go to class
Write Review

Free Online Course: Advanced C#: Functional Programming Patterns provided by LinkedIn Learning is a comprehensive online course, which lasts for 1-2 hours worth of material. The course is taught in English and is free of charge. Upon completion of the course, you can receive an e-certificate from LinkedIn Learning. Advanced C#: Functional Programming Patterns is taught by Walt Ritscher.

Overview
  • Learn how to leverage the functional programming (FP) features in C# to add FP to your code.

Syllabus
  • Introduction

    • Functional programming patterns
    • What you should know
    • Working with GitHub
    1. Overview
    • Overview of the functional programming concepts?
    2. Favor Pure Functions
    • Write pure functions for better code
    • Example of an impure function
    • Refactor impure function to pure
    • Reduce code side effects
    • Don't mutate input arguments
    • Use an immutable argument
    3. Immutable Types
    • Principles of immutable types
    • Read-only properties
    • Instance method in immutable type
    • Use helper methods to create new instance
    • Use factory method to create instance
    4. Side Effects and I/O
    • Work with files
    • Calculate the total in pure function
    • Randomness in functional programming
    5. Choose Expressions
    • Why expressions are better for functional programs
    • Rewrite statements as expressions
    6. Functional Functions
    • Use Func for first-class functions
    • Higher order functions
    7. Function Composition and Pipelining
    • Composition patterns
    • Compose functions
    • Pipelining with extension methods
    • Pipelining with generic methods
    • Pipelining with IEnumerable
    8. Work with Lists
    • Understand map and other concepts
    • Map with LINQ select
    • Filter with LINQ where
    • Flatten with SelectMany
    • Join with SelectMany
    • Fold with Sum and Aggregate
    Conclusion
    • Next steps