In object-oriented design, dependency injection is a well-known design pattern, although it's a complicated solution to the problem of decoupling. Functional programming offers a simpler way. This talk examines dependency injection in object-oriented design, and explains how it's not required (nor desired) in functional programming. You'll also learn how a proper functional design eliminates the need for mocks and stubs in unit testing, enabling you to entirely reject the notion of dependencies.
You don't need to know Haskell or F# to attend this session; relevant syntax will be explained just-in-time. Object-oriented examples will be in C#.
blog.ploeh.dk
Mark Seemann helps programmers make code easier to maintain. His professional interests include functional programming, object-oriented development, software architecture, as well as software development in general. Apart from writing a book about Dependency Injection he has also spoken at dozens of international conferences, and written numerous articles and blog posts about programming.