C# Design Patterns
Offered By: LinkedIn Learning
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
 
- 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
 
- 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#
 
- Iterator pattern definition
 - Explicit iterator implementation in C# for generated data
 - Combining iterators in C# with LINQ
 - Challenge: Simultaneous iterators
 - Solution: Simultaneous iterators
 
- 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
 
- 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
 
- Next steps
 
Taught by
Richard Goforth
Related Courses
Ruby on Rails: An IntroductionJohns Hopkins University via Coursera Internet of Things Capstone: Build a Mobile Surveillance System
University of California, San Diego via Coursera Engineering Maintainable Android Apps
Vanderbilt University via Coursera Orientação a Objetos com Java
Instituto Tecnológico de Aeronáutica via Coursera TDD – Desenvolvimento de Software Guiado por Testes
Instituto Tecnológico de Aeronáutica via Coursera