YoVDO

Making Your C# 7 Code More Functional

Offered By: Pluralsight

Tags

Functional Programming Courses Object-oriented programming Courses Software Design Courses

Course Description

Overview

Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
With lots of new functional syntax in C#, programmers may struggle to find proper place for it in their notoriously object-oriented code. This course unveils the mystery and puts OO and functional design elements in the right proportion. Start learning from Pluralsight by taking this beginners course today!

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

Related Courses

Learn to Program: Crafting Quality Code
University of Toronto via Coursera
Introduction to Agile Software Development: Tools & Techniques
University of California, Berkeley via edX
Software Architecture & Design
Georgia Institute of Technology via Udacity
Software Design for Non-Designers
mooc.house via Independent
Técnicas Avançadas para Projeto de Software
Instituto Tecnológico de Aeronáutica via Coursera