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
Computing: Art, Magic, Science - Part IIETH 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