.NET Design Patterns

  • Course number: NET-400
  • Duration: 3 days
  • Pricing: $120

This 3-day training course covers best practices for developing enterprise applications and a selection of popular design patterns that can be applied to achieve a maintainable, flexible, and testable architecture.

Each student receives a printed copy of all the material presented by the instructor.

Each student receives a lab manual consisting of a series of hands-on lab exercises that illustrate the patterns and principles taught during the course.

The instructor receives a electronic version of the material suitable for presentation during class and a guide with recommended timing and additional information related to the hands-on lab exercises.

Extensive prior experience developing applications for the .NET platform is assumed.

Visual Studio 2012 or later (any edition except "Express")

  • Dealing with Complexity
    • Functional Decomposition
    • Requirements and Inevitable Change
    • Coupling and Cohesion
    • Unwanted Side Effects
    • Perspectives
    • Responsibilities
  • Object-Oriented Paradigm
    • Objects and Responsibilities
    • Single Responsibility Principle (SRP)
    • Interfaces and Abstract Classes
    • Encapsulation and Polymorphism
    • Liskov Substitution Principle (LSP)
    • Object Construction and Destruction
    • Classes vs. Structs in .NET
  • Overview of UML
    • Diagram Types
    • Class Diagrams
    • Sequence Diagrams
  • Introduction to Design Patterns
    • Origin of Design Patterns
    • "Gang of Four" Patterns
    • Key Features of Patterns
    • Why Study Design Patterns?
    • Design Strategies
  • Structural Patterns (Part I)
    • Facade Pattern
    • Adapter Pattern
    • Facade vs. Adapter
  • Testability
    • Introduction
    • Unit Tests
    • Integration Tests
    • Test-Driven Development (TDD)
    • Dependencies
  • Behavioral Patterns (Part I)
    • Handling New Requirements
    • Open-Closed Principle (OCP)
    • Strategy Pattern
    • Template Method Pattern
  • Structural Patterns (Part II)
    • Decorator Pattern
    • Proxy Pattern
  • Behavioral Patterns (Part II)
    • Observer Pattern
    • .NET Events
    • Command Pattern
    • WPF and ICommand
  • Creational Patterns
    • Motivation
    • Factories
    • Singleton Pattern
    • Object Pool Pattern
    • Factory Method Pattern
    • Abstract Factory Pattern
  • Model-View-Controller (MVC)
    • Introduction
    • Model-View-Controller (MVC)
    • Model-View-Presenter (MVP)
    • Model-View-View-Model (MVVM)
  • Architectural Patterns and Styles
    • Component-Based Architecture
    • Layered Architecture
    • .NET Assemblies and Versioning
    • N-Tier Architecture
    • Service-Oriented Architecture (SOA)
  • Conclusion