Pluralsight_Applying_Functional_Principles_in_Csharp

در این آموزش تصویری با اصول برنامه نویسی تابعی در سی شارپ آشنا می شوید.
این دوره آموزشی محصول موسسه Pluralsight است.

سرفصل های این دوره:

  • نمای کلی دوره و پیش نیازها
  • آشنایی با برنامه نویسی تابعی
  • واژگان مورد استفاده
  • فاکتورگیری مجدد دور از استثنا
  • استثنا و خوانایی
  • استفاده از موارد برای استثنا
  • محدودیت ها
  • معرفی برنامه نویسی-شی گرا
  • کد نرم افزار
  • و …

عنوان دوره: Pluralsight Applying Functional Principles in Csharp

مدت دوره: 3 ساعت و 28 دقیقه

نویسنده: Vladimir Khorikov

 توضیحات:

https://www.pluralsight.com/courses/csharp-applying-functional-principles
Pluralsight Applying Functional Principles in Csharp

Vladimir Khorikov
3h 28m
Intermediate



Functional programming in C# can give you insight into how your programs will behave. You'll learn the fundamental principles that lie at the foundation of functional programming, why they're important, and how to apply them.


Course Overview
1m 15s
Course Overview
1m 15s
Introduction
10m 49s
Getting Started
0m 52s
Course Outline and Prerequisites
1m 56s
What Is Functional Programming?
4m 28s
Why Functional Programming?
2m 36s
Summary
0m 56s
Refactoring to an Immutable Architecture
34m 53s
Introduction
0m 23s
Vocabulary Used
1m 50s
Why Does Immutability Matter?
2m 32s
Mutability and Temporal Coupling
3m 18s
Immutability Limitations
2m 12s
How to Deal with Side Effects
4m 52s
Example Introduction
1m 15s
Mutable Implementation
2m 20s
Refactoring the First Method
5m 56s
Refactoring the Second Method
3m 35s
Implementing a Mutable Shell
2m 54s
Recap: Refactoring to an Immutable Architecture
2m 58s
Summary
0m 45s
Refactoring Away from Exceptions
32m 49s
Introduction
0m 26s
Exceptions and Readability
3m 16s
Use Cases for Exceptions
3m 14s
Fail Fast Principle
4m 30s
Where to Catch Exceptions
4m 11s
The Result Class
6m 38s
Recap: The Result Class
1m 22s
The Result Class and CQS
1m 25s
Refactoring Away from Exceptions
5m 59s
Summary
1m 45s
Avoiding Primitive Obsession
20m 25s
Introduction
0m 23s
What Is Primitive Obsession?
2m 41s
How to Get Rid of Primitive Obsession
3m 6s
Primitive Obsession and Defensive Programming
1m 16s
Primitive Obsession: Limitations
1m 19s
Where to Convert Primitive Types into Value Objects?
1m 47s
Refactoring Away from Primitive Obsession
6m 55s
Recap: Refactoring Away from Primitive Obsession
1m 33s
Summary
1m 21s
Avoiding Nulls with the Maybe Type
26m 11s
Introduction
0m 18s
The Billion-dollar Mistake
4m 18s
Non-nullability on the Language Level
2m 43s
Mitigating the Billion-dollar Mistake
7m 11s
Enforcing the Use of the Maybe Type
6m 38s
Recap: Mitigating the Billion-dollar Mistake
1m 56s
Limitations
1m 48s
Summary
1m 16s
Handling Failures and Input Errors in a Functional Way
16m 47s
Introduction
0m 18s
Traditional Approach to Handling Failures and Input Errors
2m 33s
Refactoring the Method Using the Result and Maybe Types
3m 59s
Introducing Railway-oriented Programming
6m 51s
Recap: Introducing Railway-oriented Programming
1m 45s
Summary
1m 18s
Putting It All Together
1h 5m
Introduction
0m 48s
Domain Model Introduction
1m 58s
Application Code Introduction
9m 18s
Refactoring Away from Exceptions
10m 12s
Recap: Refactoring Away from Exceptions
1m 2s
Refactoring Away from Primitive Obsession
8m 46s
Recap: Refactoring Away from Primitive Obsession
1m 1s
Refactoring to More Explicit Code
6m 24s
Recap: Refactoring to More Explicit Code
0m 43s
Making Nulls Explicit
6m 40s
Recap: Making Nulls Explicit
0m 48s
Representing Reference Data as Code
3m 57s
Recap: Representing Reference Data as Code
2m 9s
Railway-oriented Programming
5m 57s
Recap: Railway-oriented Programming
1m 11s
Module Summary
1m 45s
Resource List
1m 3s
Course Summary
1m 26s