While it is a presentation, it pretty clear shows a problem on a very simple example and tries many approaches to solve the problem. It tries to sell boost::DI, yes, but is still is great as a learning material http://boost-experimental.github.io/di/cpp-london-2017/#/
Dependency injection library from GOOGL https://github.com/google/fruit