In this chapter, we started a journey—a journey that will lead to code that is easier to maintain, extend, and test.
We started by defining DI and examining some of the benefits it can bring us. With the help of a few examples, we saw how this might look in Go.
After that, we started identifying code smells to look out for and that could be addressed or alleviated by applying DI.
Finally, we examined what I believe Go code looks like, and I challenged you to be skeptical and apply a critical eye to techniques presented in this book.