Managing Dependencies with Dependency Injection

Author:
Florin CoroČ™

Trainer:
Florin CoroČ™


Overview

By participating to this training you will get a deep understanding of Dependency Injection and Service Locator techniques, which are key in managing the dependencies between the modules and classes in which we write our code. The dependencies among code structures play an important role in maintaining and changing the code base. Therefore, the ability of creating these dependencies in an ordered fashion and in a loosely coupled way can make a significant impact on the overall development cost of a software project.

The course begins from explaining the main principles around constructing objects; it continues by presenting decisional patterns of choosing the most appropriate construction technique depending on the context; and it ends with recipes of starting projects with a solid foundation for this, but also for adding it at a later stage of the project.

Another perspective the course brings is on the benefits of the Dependency Injection and Service Locator techniques on achieving a testable code as well as on isolating the code from the changes of the external APIs or systems.


Motivation

You should invest in mastering Dependency Injection and Dependencies Management because:
- code that uses dependency injection properly has reduced costs for change and extensibility - projects in which the dependencies are manageable have lower development costs on the long term - code that uses dependency injection has a higher level of testability - code that uses dependency injection can be isolated from changes of the external code it calls

Even if in our days, Dependency Injection and Service Locator are popular, having a deep understanding of them and recipes to follow extracted from real live projects, can make a big difference in applying them in a beneficiary way.


Target Audience

Any software developer would benefit greatly from this training.


Prerequisites

Object Oriented Programming basics (inheritance; encapsulation; polymorphism; interfaces; abstract classes; virtual methods; overriding; overloading).


Format and Agenda

The training is structured in more sections. The first sections cover the problems around Dependencies Management, and the later ones show how they are addressed by implementing Dependency Injection and Service Locator techniques.

The sections are:

  • Define Dependencies
  • The Dependency Rule
  • Circular Dependencies
  • Separating Construction from Use
  • Dependency Injection
  • Service Locator
  • Using Dependency Injection and Service Locator

The recommended format for delivering the course is one day. This assures a balanced pace between explaining the principles, showing examples and exercising the techniques.


Offer

Please contact me for requesting an offer tailored to your needs.