.NET Design Patterns and Principles Training

Upcoming Classes

Start Date Time Location Price Classroom Live Online GTR
May 15, 2017 9:00 AM - 5:00 PM CST Eagan, MN $2,225.00 Enroll Enroll
- GTR      - Not GTR
Click to be notified when a date becomes Guaranteed to Run (GTR).

On Site/Private

Can't find a class that fits right for you? Contact us to inquire about scheduling your own private class

Contact Us


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

Bring This Course To You

For groups of 5 or more, let Intertech bring this course to your location. Customized versions tailored towards your objectives are also available.

Learn More

Learning Objectives

Upon completion of this course all attendees will:

  • Understand the origin and purpose of design patterns
  • Recognize when certain patterns and principles can provide a benefit in your application
  • Learn about many popular patterns and how to apply them
  • Understand the differences among the Model-View-X patterns (MVC, MVP, and MVVM)
  • Understand how to apply the SOLID design principles in your day-to-day development practice.


  • Prior experience developing applications in .NET is required.

Course Outline

Dealing with Complexity

  • Functional Decomposition
  • Requirements and Inevitable Change
  • Coupling and Cohesion
  • Unwanted Side Effects
  • Perspecives
    • Conceptual
    • Specification
    • Implementation
  • Responsibilities

The 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
    • Constructors and Field Initialization in .NET
    • Destructors and the Finalize Method
    • .NET Dispose Pattern
  • Classes vs. Structs in .NET

Overview of UML

  • Introduction
  • 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


  • Writing Unit Tests
  • Test-Driven Development (TDD)
  • Dependencies
  • Extracting Interfaces
  • Mock Object Pattern

Behavioral Patterns (Part I)

  • Dealing with Change
  • Encapsulating Variations
  • Strategy Pattern
  • Open-Closed Principle (OCP)
  • Template Method Pattern

Structural Patterns (Part II)

  • Inheritance vs. Composition
  • Bridge Pattern
  • Decorator Pattern
  • Proxy Pattern

Behavioral Patterns (Part II)

  • Observer Pattern
  • .NET Events
  • Command Pattern

Creational Patterns

  • Motivation
  • Dependency Injection
  • Singleton Pattern
    • Thread Safety
    • .NET Implementation
  • Object Pool Pattern
  • Factory Method Pattern
  • Abstract Factory Pattern

Model-View-Controller (MVC)

  • Model-View-Presenter (MVP)
  • Model-View-ViewModel (MVVM)

Architectural Patterns and Styles

  • Component-Based Architecture
  • .NET Assemblies and Versioning
  • N-Tier Architecure
  • Service-Oriented Architecture (SOA)

Designing with Patterns

  • Summary of Design Principles
  • Commonality and Variability
  • Dependency Inversion Principle (DIP)
  • Hybrid and Composite Patterns
  • Design Patterns and Agile Practices

Free Resources from Intertech

2 Free Resources: Missed Issues in Software Estimation and Stakeholder Questionnaire

Free eBook: The Secret to Good Code Documentation

Free eBook: Top 5 Most Common Missed Issues in Software Estimation