Software Design: Functional Programming in C#
Software Design: Functional Programming in C#, available at $59.99, has an average rating of 4, with 64 lectures, based on 313 reviews, and has 2164 subscribers.
You will learn about Design and Implement Immutable Types Implement Useful Extension Methods Write Pure Functions (avoiding side effects) Handle Errors in a Functional Style Tackle with the Problem of Null-values in a Functional Style This course is ideal for individuals who are Anyone who wants to write better code or Anyone who's not familiar with Functional Programming It is particularly useful for Anyone who wants to write better code or Anyone who's not familiar with Functional Programming.
Enroll now: Software Design: Functional Programming in C#
Summary
Title: Software Design: Functional Programming in C#
Price: $59.99
Average Rating: 4
Number of Lectures: 64
Number of Published Lectures: 64
Number of Curriculum Items: 64
Number of Published Curriculum Objects: 64
Original Price: $27.99
Quality Status: approved
Status: Live
What You Will Learn
- Design and Implement Immutable Types
- Implement Useful Extension Methods
- Write Pure Functions (avoiding side effects)
- Handle Errors in a Functional Style
- Tackle with the Problem of Null-values in a Functional Style
Who Should Attend
- Anyone who wants to write better code
- Anyone who's not familiar with Functional Programming
Target Audiences
- Anyone who wants to write better code
- Anyone who's not familiar with Functional Programming
Learn how to write C# code in a functional style. The “Functional Programming in C#” is for you if you want to improve your code, design and architecture. It means you are going to learn how to write code of the high quality: readable, understandable and reliable.
Teaching Approach
No fluff, no ranting, no beating the air. I respect your time. The course material is succinct, yet comprehensive. All important concepts are covered. Particularly important topics are covered in-depth.
Take this course and you will be satisfied.
Learn Functional Programming in the context of clean coding and building types of high quality.
-
Get Deep Understanding of what is Functional Programming
-
Learn how to design Immutable types in C#
-
Apply new C# 6 and C# 7 features to write better code in a functional style
-
Learn how to Extend and Compose any Types
-
Handle Errors and Exceptions in a functional programming style
-
Tackle the Problem of Null-Values by the means of functional programming
Foundations of Functional Programming
Despite the fact that C# is primarily an object-oriented language, it is very powerful on features which enable functional programming style. In fact, C# is one of the richest on features language among object-oriented languages in the world nowadays. But with great power comes great responsibility. It’s challenging to use all those features in a right way.
You probably have already heard the following well-known statement: most code sucks. Well, this course is all about how to produce code which doesn’t suck.
Owning skills of producing well-designed and well-implemented types with regards to functional programming principles.
Content and Overview
This course is aimed at all the C# developers, from beginners to seniors. Topics which are covered in the course are relevant for all kinds of C# developers since all developers design and implement types. The topics complexity is very different. There are plenty of very simple topics, and at the same time, there are topics which require from you a solid C# background. There are plenty of code examples throughout this course, so you will learn both theoretical and practical material.
-
We’re going to start with the theoretical foundations of the functional programming paradigm. You’ll learn what is Functional Programming and what are the benefits of applying that paradigm.
-
In the second section, we’re going to elaborate the core concepts of the functional programming. You’ll learn more about immutability, purity, side effects and expressions.
-
To write modern code in a functional style, you need to learn modern C# features appeared in C# 6 and C# 7.
-
We’re going to learn more about immutability in a separate section. This is a very important topic.
-
We’re going to learn how to extend types. You’ll see practical cases, you’ll learn about general extensions needed for functional programming.
-
After mastering the topic of types extending you will face the great problem of exceptions handling. Yep, it’s a hard nut to crack. We will start from discussing a question of why we use exceptions as a mechanism of errors handling. And why C# team didn’t invent any other mechanisms?
-
In the end, we will look at how to fight with null values. As you may know, Tony Hoar said that the invention of a null value was his billion-dollar mistake.
To sum up, the course covers the following topics:
-
Theoretical Foundations of Functional Programming
-
Core Concepts of Functional Programming
-
Functional Features in C#
-
Immutability in C#
-
Extendibility in C#
-
Dealing with Errors
-
Dealing with Nulls
————————————————————
Keywords related to the course:
-
C# Clean Code
-
C# Best Practices
-
Functional Programming in C#
-
C# Functional Programming
-
Clean Code in C# tutorial
Course Curriculum
Lecture 1: How to Ask Questions
Lecture 2: Download Source Code
Lecture 3: Join .NET Community of Students
Chapter 1: Introduction to Functional Programming
Lecture 1: Outline
Lecture 2: Programming Paradigms
Lecture 3: Defining Functional Programming
Lecture 4: Functions are Everywhere
Lecture 5: Why Functional Programming
Lecture 6: Conclusion
Chapter 2: Core Concepts
Lecture 1: Outline
Lecture 2: Immutability
Lecture 3: Temporal Coupling and Immutability
Lecture 4: Purity and Side Effects
Lecture 5: Side Effects and Architecture
Lecture 6: CQS and Side Effects
Lecture 7: Declarative Programming Style
Lecture 8: Expressions with Operators
Lecture 9: Conclusion
Chapter 3: Functional Features in C#
Lecture 1: Outline
Lecture 2: Extension Methods
Lecture 3: Autoproperties and Immutability
Lecture 4: Expression-Bodied Members
Lecture 5: Pattern Matching
Lecture 6: Tuples and Deconstruction
Lecture 7: Local Functions
Lecture 8: Conclusion
Chapter 4: Immutability in C#
Lecture 1: Outline
Lecture 2: A Mutable Type
Lecture 3: External Immutability
Lecture 4: Internal Immutability
Lecture 5: Shallow and Popsicle Immutability
Lecture 6: Builder Design Pattern. Immutability and Testability
Lecture 7: Immutability of Structures
Lecture 8: Immutability and Memory Pressure
Lecture 9: Conclusion
Chapter 5: Extendibility in C#
Lecture 1: Outline
Lecture 2: Pipelining
Lecture 3: Extending IDisposable
Lecture 4: Extending StringBuilder
Lecture 5: General Extensions
Lecture 6: Abusing Extension Methods
Lecture 7: Conclusion
Chapter 6: Dealing with Errors
Lecture 1: Outline
Lecture 2: What does an "Error" Mean?
Lecture 3: Problems with Exceptions
Lecture 4: Practical Considerations Regarding Exceptions
Lecture 5: Exception Handling Strategies
Lecture 6: CQS Principle
Lecture 7: Tester-Doer Pattern
Lecture 8: Errors and Functional Programming
Lecture 9: Pipelining by Method Chaining
Lecture 10: Conclusion on Errors Handling
Lecture 11: BCL Exception Types
Lecture 12: Custom Exception Types
Lecture 13: Conclusion
Chapter 7: Dealing with Nulls
Lecture 1: Outline
Lecture 2: Problems with Nulls
Lecture 3: Null Object Pattern
Lecture 4: Maybe (Option)
Lecture 5: Automating Null Checks
Lecture 6: Static Analysis
Lecture 7: Returning IEnumerables
Lecture 8: Conclusion
Lecture 9: BONUS Lecture
Instructors
-
Engineer Spock
Software Engineer – 1000+ Reviews, Average Score – 4.5
Rating Distribution
- 1 stars: 4 votes
- 2 stars: 12 votes
- 3 stars: 48 votes
- 4 stars: 125 votes
- 5 stars: 124 votes
Frequently Asked Questions
How long do I have access to the course materials?
You can view and review the lecture materials indefinitely, like an on-demand channel.
Can I take my courses with me wherever I go?
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don’t have an internet connection, some instructors also let their students download course lectures. That’s up to the instructor though, so make sure you get on their good side!
You may also like
- Top 10 Video Editing Courses to Learn in November 2024
- Top 10 Music Production Courses to Learn in November 2024
- Top 10 Animation Courses to Learn in November 2024
- Top 10 Digital Illustration Courses to Learn in November 2024
- Top 10 Renewable Energy Courses to Learn in November 2024
- Top 10 Sustainable Living Courses to Learn in November 2024
- Top 10 Ethical AI Courses to Learn in November 2024
- Top 10 Cybersecurity Fundamentals Courses to Learn in November 2024
- Top 10 Smart Home Technology Courses to Learn in November 2024
- Top 10 Holistic Health Courses to Learn in November 2024
- Top 10 Nutrition And Diet Planning Courses to Learn in November 2024
- Top 10 Yoga Instruction Courses to Learn in November 2024
- Top 10 Stress Management Courses to Learn in November 2024
- Top 10 Mindfulness Meditation Courses to Learn in November 2024
- Top 10 Life Coaching Courses to Learn in November 2024
- Top 10 Career Development Courses to Learn in November 2024
- Top 10 Relationship Building Courses to Learn in November 2024
- Top 10 Parenting Skills Courses to Learn in November 2024
- Top 10 Home Improvement Courses to Learn in November 2024
- Top 10 Gardening Courses to Learn in November 2024