Session

Dependency Injection in C++ : A Practical Guide

A key principle for testing code is the concept of dependency injection aka the ability to swap out functionality of key components. This feature allows not only for easier code testability but also promotes well structured code that is more extensible and flexible beyond its original use cases.
In this talk we will explore the basic building blocks that can be used for Dependency injection like link-time substitution, dummies, Interfaces via Inheritance, templates, smart-pointers and polymorphic function wrappers. what are their strengths and weaknesses and the problem space they best serve.
But what exactly is good dependency injection and what are good/bad strategies for employing these building blocks ?
How do you inject multiple dependencies into classes/functions without going down the road to singletons and global state ? We will also show how to introduce dependency injection into older codebases that were never designed for the concept. Doing this without having to make major changes throughout a legacy codebase ?
After exploring this and other use cases, we suggest better ways to handle these specific situations. Finally a coherent strategy for adding DI to your applications should emerge and be added to your toolbox.

Peter Muldoon

We can't test this is the path to failure

Actions

Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.

Jump to top