Managing how classes depend on each other is an important aspect of building software. If you know how to manage dependencies then writing maintainable and testable code becomes easier. In this talk we’ll go over how to manage a third party and internal dependencies using interfaces, dependency injection, and an inversion of control container.