YoVDO

C# Design Patterns

Offered By: LinkedIn Learning

Tags

Design Patterns Courses C# Courses Unit Testing Courses Object-oriented programming Courses Dependency Injection Courses LINQ Courses Adapter Pattern Courses

Course Description

Overview

Build better code by leveraging design patterns in C#. Learn about the purpose and effective use of design patterns, and discover how to apply Gang of Four patterns in your code.

Syllabus

Introduction
  • Object-oriented design patterns in C#
  • What you should know
  • Review of terms
  • Using the exercise files and installing .NET SDK
1. Defining Software Design Patterns
  • Object-oriented programming
  • What isn't OOP for design patterns
  • C#, OOP, and design patterns
  • What are design patterns?
  • Why do you need design patterns?
  • A short history of design patterns
  • Categories of design patterns
  • Challenge: Design patterns outside of software
  • Solution: Design patterns outside of software
2. Get Started with Design Patterns
  • Using software design patterns
  • Software design pattern drawbacks
  • Overview of the creational patterns for C#
  • Overview of the structural patterns for C#
  • Overview of the behavioral patterns for C#
3. The Iterator Pattern
  • Iterator pattern definition
  • Explicit iterator implementation in C# for generated data
  • Combining iterators in C# with LINQ
  • Challenge: Simultaneous iterators
  • Solution: Simultaneous iterators
4. The Factory Method Pattern
  • Factory Method pattern definition
  • Factory Method pattern to choose the implementation of an action dynamically
  • Factory Method design pattern for unit testing
  • Challenge: Factory Method with dependency injection
  • Solution: Factory Method with dependency injection
5. The Adapter Pattern
  • Adapter pattern definition
  • Adapter in C#: Adapt FileStream to ILogger
  • Adapter pattern for ViewModel mapping
  • Challenge: Class adapter vs. object adapter
  • Solution: Class adapter vs. object adapter
Conclusion
  • Next steps

Taught by

Richard Goforth

Related Courses

Computing: Art, Magic, Science - Part II
ETH Zurich via edX
Web Application Development: Basic Concepts
University of New Mexico via Coursera
Web Application Development: The Presentation Tier
University of New Mexico via Coursera
Técnicas Avançadas para Projeto de Software
Instituto Tecnológico de Aeronáutica via Coursera
Programmation objet immersive en Pharo
Inria (French Institute for Research in Computer Science and Automation) via France Université Numerique