Dependency Injection principles, practices, and patterns - Deursen, Steven van; Seemann, Mark (Manning, 2019)