.NET Design Patterns and Practices

78 Ratings

Course Number: NET-922

Duration: 3 days (19.5 hours)

Format: Live, hands-on

.NET Training Overview

Accelebrate's .NET Design Patterns and Practices training class 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.

Note: This course can also be taught using C# or Visual Basic

Location and Pricing

Accelebrate offers instructor-led enterprise training for groups of 3 or more online or at your site. Most Accelebrate classes can be flexibly scheduled for your group, including delivery in half-day segments across a week or set of weeks. To receive a customized proposal and price quote for private corporate training on-site or online, please contact us.

In addition, some courses are available as live, online classes for individuals. See a schedule of online courses.

Objectives

  • Learn the proper and improper application of object-oriented programming techniques
  • Become familiar with and apply the SOLID design principles
  • Understand the origin and purpose of design patterns
  • Recognize when certain patterns can provide a benefit in your application
  • Learn about many popular patterns and how to apply them
  • Explore patterns specific to .NET desktop and web application development

Prerequisites

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

Outline

Expand All | Collapse All

Dealing with Complexity
  • Functional Decomposition
  • Requirements and Inevitable Change
  • Coupling and Cohesion
  • Unwanted Side Effects
  • Perspectives
  • 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
  • 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)
  • Façade Pattern
  • Adapter Pattern
  • Façade 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
  • 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 Architecture
  • 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
Conclusion

Training Materials:

All students receive comprehensive courseware.

Software Requirements:

  • Windows 7 or later and at least 8 GB RAM
  • Visual Studio 2017 or later with LocalDB installed
  • If you have purchased this class, please contact us for more detailed setup specifications


Learn faster

Our live, instructor-led lectures are far more effective than pre-recorded classes

Satisfaction guarantee

If your team is not 100% satisfied with your training, we do what's necessary to make it right

Learn online from anywhere

Whether you are at home or in the office, we make learning interactive and engaging

Multiple Payment Options

We accept check, ACH/EFT, major credit cards, and most purchase orders



Recent Training Locations

Alabama

Birmingham

Huntsville

Montgomery

Alaska

Anchorage

Arizona

Phoenix

Tucson

Arkansas

Fayetteville

Little Rock

California

Los Angeles

Oakland

Orange County

Sacramento

San Diego

San Francisco

San Jose

Colorado

Boulder

Colorado Springs

Denver

Connecticut

Hartford

DC

Washington

Florida

Fort Lauderdale

Jacksonville

Miami

Orlando

Tampa

Georgia

Atlanta

Augusta

Savannah

Hawaii

Honolulu

Idaho

Boise

Illinois

Chicago

Indiana

Indianapolis

Iowa

Cedar Rapids

Des Moines

Kansas

Wichita

Kentucky

Lexington

Louisville

Louisiana

New Orleans

Maine

Portland

Maryland

Annapolis

Baltimore

Frederick

Hagerstown

Massachusetts

Boston

Cambridge

Springfield

Michigan

Ann Arbor

Detroit

Grand Rapids

Minnesota

Minneapolis

Saint Paul

Mississippi

Jackson

Missouri

Kansas City

St. Louis

Nebraska

Lincoln

Omaha

Nevada

Las Vegas

Reno

New Jersey

Princeton

New Mexico

Albuquerque

New York

Albany

Buffalo

New York City

White Plains

North Carolina

Charlotte

Durham

Raleigh

Ohio

Akron

Canton

Cincinnati

Cleveland

Columbus

Dayton

Oklahoma

Oklahoma City

Tulsa

Oregon

Portland

Pennsylvania

Philadelphia

Pittsburgh

Rhode Island

Providence

South Carolina

Charleston

Columbia

Greenville

Tennessee

Knoxville

Memphis

Nashville

Texas

Austin

Dallas

El Paso

Houston

San Antonio

Utah

Salt Lake City

Virginia

Alexandria

Arlington

Norfolk

Richmond

Washington

Seattle

Tacoma

West Virginia

Charleston

Wisconsin

Madison

Milwaukee

Alberta

Calgary

Edmonton

British Columbia

Vancouver

Manitoba

Winnipeg

Nova Scotia

Halifax

Ontario

Ottawa

Toronto

Quebec

Montreal

Puerto Rico

San Juan