At first, Inversion of Control (IoC) is a difficult concept to understand. Even after understanding what IoC is, a developer must learn to apply the concepts of IoC and IoC containers to a real application in order to use it effectively. In this course, John will show you how to use the Unity IoC container in an ASP.NET MVC 4 application to use dependency injection on controllers, filters, views and more. You'll start off by learning the basics of IoC containers, how they work and why they are important. As well as, learning about how internally ASP.NET MVC 4 creates controllers and views. In order to understand practically how dependency injection works (the core function of IoC containers)John will walk you through manually doing dependency injection in ASP.NET MVC 4 using your own custom controller factory. After you have done things manually, you'll see how to add the Microsoft Unity IoC container to your MVC 4 application to do dependency injection automatically. Essentially you'll see how it is able to give us more flexibility and reduce the custom code we need to write. John then takes things even further by exploring some advanced dependency injection techniques using Unity to inject views and filters. He'll also cover some of the advanced features of the Unity IoC container. Finally, you'll take a tour through some other popular .NET IoC containers and see how to get them working in our ASP.NET MVC 4 application. After taking this course you will be equipped with the skills and knowledge you need to build real applications using Inversion of Control and dependency injection.