Let us help you find the training program you are looking for.

If you can't find what you are looking for, contact us, we'll help you find it. We have over 800 training programs to choose from.


Course Skill Level:


Course Duration:

3 day/s

  • Course Delivery Format:

    Live, instructor-led.

  • Course Category:

    Programming & Development

  • Course Code:


Who should attend & recommended skills:

Those familiar with basic C#

Who should attend & recommended skills

  • As a follow on to the Developing Applications in C# course, participants familiar with basic C# syntax will benefit from this course.
  • C# syntax: Basic (1-2 years’ experience)

About this course

This course introduces the participant to a powerful design pattern that helps decouple components so that more flexibility is achieved. Specifically, the pattern known as Inversion of Control, aka Dependency Injection, is examined in this course along with the benefits to design. Flexibility, reuse, and maintainability are goals. We will use the Unity or Ninject framework to demonstrate this pattern. This course is rich in hands-on opportunities (50%).

Skills acquired & topics covered

  • Overview
  • O-O Design Principles
  • Dependency Injection
  • DI with NInject/Unity
  • Interception
  • Key Design Patterns

Course breakdown / modules

  • Limitations to flexibility, extensibility, and testability with traditional factories
  • Enables TDD
  • Parallel development
  • Loose Coupling

  • Design S
  • Single Responsibility
  • Open/Closed Principle
  • Interface segregation Principle
  • Substitution Principle
  • Dependency Inversion Principle

  • Creational Patterns
  • Factories
  • Locators
  • DI
  • Composition
  • Lifetime
  • Injection types

  • Register, Resolve, Dispose
  • Registration approaches
  • Resolving
  • Lifetime management

  • Cross cutting concerns
  • Goff’s Decorator
  • Interception with NInject/Unity

  • Factories
  • Composite
  • Decorator
  • Adapter
  • State
  • Strategy
  • Command