Dependency Injection, the Dependency Inversion Principle, and You

It's received wisdom that Ruby doesn't need dependency injection frameworks. In this talk, I'll claim that this is at least in part because we don't apply the Dependency Inversion Principle[1] properly. I'll explore the intent of the principle, its benefits for maintainable and testable code, and show how to improve existing code through its application.

I'll then go on to explore how to create objects with dependencies wired in, hoping to settle the question of whether we need a framework to do this.

Hint: I don't think we do.

Oh also: I'll use some colour for my slides, unlike in previous talks! ;)

[1]http://www.objectmentor.com/resources/articles/dip.pdf