D is for the Dependency Inversion Principle
All SOLID Principles are essential in understanding in how to write better and maintanable code. This series of articles by Donn Felker has the best explanations of all SOLID principles.
More About Dependency Inversion Principle
Robert C. Martin - Clean Architecture
This talk by Bob Martin is essential to every software dev learning to write good testable code.
Dagger 2 Beginner Tutorial [Youtube Playlist]
One of the best tutorials explaining dependency injection and all the annotations involved with live examples from an android app from scratch.
Dagger 2 for Android Beginners — Introduction [Article Series]
A great intro and series on DI made exciting with explanations using Game of Thrones.
Dagger 2 Basics
A very well written article which explains all the parts used in Dagger along with many best practices as well. Must read after basics of Dependency Injection are clear.
Articles by Mirek Stanek
Excellent explanations from the author. Clearly explained with code examples along with an example of how Dagger can be used in the android context.
Dependency Injection Android Using Dagger2 [Article Series]
Beautifully and simply explained.
Take a Stab at Test-Friendly Architecture with Dagger 2
Why you need Dagger and where it fits in and what are its benefits