Course code Title Language Price # Unit Startdate Hour Enddate Location Signup
NETDP .NET Design Patterns on your request on your request Contact Us

.NET Design Patterns

.NET Design Patterns

Overview

Course code: 
NETDP
Duration: 
3
Time Unit: 
Day(s)
Overview: 

This 3-day course that teaches students 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.

Topics

Topics: 

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

Conclusion

Prerequisites

Prerequisites: 

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