Source code and exercises while working through the DI in DotNet book by Mark Seemann