Congratulations! We made it to the end of the first section! Hopefully, at this point, you've discovered a few new things, or perhaps have been reminded of some software design concepts that you had forgotten.
Programming, like any professional endeavor, deserves constant discussion, learning, and a healthy dose of skepticism.
In the second section, you will find several very different techniques for DI, some that you might like, some that you might not. Armed with everything we have examined so far, you will have no trouble in determining how and when each technique could work for you.