Consulting Training Blog Careers About Us Contact Us

.NET Design Patterns and Principles Training

Upcoming Classes

Calender
Rows
Guaranteed to Run
To Be Determined
Jun 2017
Jul 2017
Aug 2017
Sep 2017
Oct 2017
Nov 2017
Dec 2017
Jan 2018
Feb 2018
Mar 2018
Apr 2018
May 2018
Sun Mon Tue Wed Thu Fri Sat
28 29 30 31 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 1
Jun 2017
Jul 2017
Aug 2017
Sep 2017
Oct 2017
Nov 2017
Dec 2017
Jan 2018
Feb 2018
Mar 2018
Apr 2018
May 2018
Sun Mon Tue Wed Thu Fri Sat
25 26 27 28 29 30 1
2 3 4 5 6 7 8
 
Location: Eagan, MN Time: 9:00 AM - 5:00 PM CST Price: $2,225.00
     
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
Jun 2017
Jul 2017
Aug 2017
Sep 2017
Oct 2017
Nov 2017
Dec 2017
Jan 2018
Feb 2018
Mar 2018
Apr 2018
May 2018
Sun Mon Tue Wed Thu Fri Sat
30 31 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 1 2
Jun 2017
Jul 2017
Aug 2017
Sep 2017
Oct 2017
Nov 2017
Dec 2017
Jan 2018
Feb 2018
Mar 2018
Apr 2018
May 2018
Sun Mon Tue Wed Thu Fri Sat
27 28 29 30 31 1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Jun 2017
Jul 2017
Aug 2017
Sep 2017
Oct 2017
Nov 2017
Dec 2017
Jan 2018
Feb 2018
Mar 2018
Apr 2018
May 2018
Sun Mon Tue Wed Thu Fri Sat
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 1 2 3 4
Jun 2017
Jul 2017
Aug 2017
Sep 2017
Oct 2017
Nov 2017
Dec 2017
Jan 2018
Feb 2018
Mar 2018
Apr 2018
May 2018
Sun Mon Tue Wed Thu Fri Sat
29 30 31 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 1 2
Jun 2017
Jul 2017
Aug 2017
Sep 2017
Oct 2017
Nov 2017
Dec 2017
Jan 2018
Feb 2018
Mar 2018
Apr 2018
May 2018
Sun Mon Tue Wed Thu Fri Sat
26 27 28 29 30 1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31 1 2 3 4 5 6
Jun 2017
Jul 2017
Aug 2017
Sep 2017
Oct 2017
Nov 2017
Dec 2017
Jan 2018
Feb 2018
Mar 2018
Apr 2018
May 2018
Sun Mon Tue Wed Thu Fri Sat
31 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31 1 2 3
Jun 2017
Jul 2017
Aug 2017
Sep 2017
Oct 2017
Nov 2017
Dec 2017
Jan 2018
Feb 2018
Mar 2018
Apr 2018
May 2018
Sun Mon Tue Wed Thu Fri Sat
28 29 30 31 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 1 2 3
Jun 2017
Jul 2017
Aug 2017
Sep 2017
Oct 2017
Nov 2017
Dec 2017
Jan 2018
Feb 2018
Mar 2018
Apr 2018
May 2018
Sun Mon Tue Wed Thu Fri Sat
25 26 27 28 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Jun 2017
Jul 2017
Aug 2017
Sep 2017
Oct 2017
Nov 2017
Dec 2017
Jan 2018
Feb 2018
Mar 2018
Apr 2018
May 2018
Sun Mon Tue Wed Thu Fri Sat
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 1 2 3 4 5
Jun 2017
Jul 2017
Aug 2017
Sep 2017
Oct 2017
Nov 2017
Dec 2017
Jan 2018
Feb 2018
Mar 2018
Apr 2018
May 2018
Sun Mon Tue Wed Thu Fri Sat
29 30 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 1 2

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

Upcoming Classes

Calendar
Rows
Start Date Time Location Price Classroom Live Online GTR
Jul 10, 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

Description

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.

Prerequisites

  • 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

Testability

  • 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)
  • WPF and ASP.NET MVC

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 Whitepaper: Design and Code Review Checklist

Free Whitepaper: 7 Things to Know Before Starting a Prism WPF Project

X