C# Design and Application Patterns

3 Day Instructor-Led Onsite or Online Course

Course Summary:

The C# Design and Application Patterns course teaches .NET developers how to apply best practices to their .NET applications. While a thorough understanding of the C# language is key to development success, developers should also understand how to write loosely-coupled code that is based upon proven best practices and patterns. By applying design and application patterns to the development process, more consistent, flexible and maintainable code can be written.

In the C# Design and Application Patterns course developers will learn how to apply several Creational, Structural and Behavioral design patterns to their .NET applications. The course includes real-life analogies for each design pattern to help students thoroughly understand the purpose of a pattern and better understand when and where a pattern can be used. Comparisons between patterns are provided to help students in the pattern selection process. Students will also learn about two key application patterns including MVC and MVVM. Hands-on exercises will re-enforce the principles and provide students with an in-depth understanding of individual design and application pattern pros and cons.

Pre-Requisites:

C# 3.0 Programming

What You'll Learn:
  • How to build re-useable code bases
  • The importance of building loosely-coupled applications
  • The benefits of applying design patterns to development projects
  • The role of Generics and Interfaces in design patterns
  • The difference between Creational, Structural and Behavioral design patterns
  • Best practices for building applications and applying design patterns
  • Why Separation of Concerns leads to more testable applications
  • How Visual Studio can be used to unit test applications
  • How to use MVC and MVVM application patterns

Course Details:

Introduction to Design Patterns
  • What are Design Patterns?
  • Why use Design Patterns?
  • Selecting a Design Pattern
  • Key Language Concepts
Creational Design Patterns
  • Abstract Factory Pattern
  • Singleton Pattern
  • Builder Pattern
  • Factory Pattern
  • Prototype Pattern
Structural Design Patterns
  • Façade Pattern
  • Decorator Pattern
  • Adapter Pattern
Behavioral Design Patterns
  • Observer Pattern
  • Chain of Responsibility Pattern
  • Mediator Pattern
Application Design Patterns
  • Overview of Application Design Patterns
  • Separation of Concerns and Testing
  • Model-View-Controller (MVC)
    • Understanding the MVC Pattern
    • Introduction to ASP.NET MVC
    • The Role of Routing
    • Creating the Model
    • Creating a Controller with Actions
    • Displaying Data with Views
  • Model-View-ViewModel (MVVM)
    • Introduction to MVVM
    • Introduction to Prism
    • Applying MVVM to Silverlight Applications

Contact Us for information about onsite or online courses.

Video Tips Newsletter for .NET and SharePoint Developers
Sign-up to receive our free video tips newsletter for .NET and SharePoint developers and learn about technologies that can help make you more productive: