Designing a Short Course on IoC: Day 1

Today’s the start of a really exciting week for me!

I’ve been working with Inversion of Control (IoC) Containers and related technologies since picking up Castle Windsor in 2006, actively developed Autofac for much of that time, and helped shape the first release of the Managed Extensibility Framework. In that period IoC has grown and truly blossomed in the .NET world: from its “enterprise Java” roots we’ve collectively created something that plays to the unique strengths of .NET and C#. Rather than being viewed as an esoteric fringe technology, as it was just a few years ago, IoC is firmly in the .NET mainstream and is increasingly being baked into the platform itself.

Along the way there have been many difficult questions posed, and I’ve had to ask and answer my share. It can be easy to go wrong with IoC – remember the “sharp tools” analogy of the ALT.NET movement? – especially when finding the right approach to IoC in a new situation can mean finding several wrong ways first!

Last year at TechEd Australia I presented a breakout session on IoC in .NET. Though the feedback I received was positive, I was left feeling that an hour was too little time to get many of the concepts across in enough depth. So, this year courtesy of Readify I’m going to be presenting a short course on IoC from the ground, up.

The course will be a full day, with dates in May, 2011 set for:

The unifying theme will be ASP.NET MVC, but don’t be discouraged if this is not your primary platform. Much of what we cover will be independent of MVC and even of web programming in general. If you’re unfamiliar with ASP.NET MVC then it might help to brush up on that area if you want to keep up with some of the examples.

In terms of level of technical difficulty, I hope there will be something for everyone. You’ll get the most out of the day if you’re a confident .NET developer with beginner-to-intermediate experience with IoC, or if you’re an experienced user of IoC looking for broader and deeper perspectives on its use.

This week I’m preparing material for the course, and while I have a fair idea of the ground to cover, I’m interested in your ideas. I’ll be posting a progress update each day to keep you informed of where things are heading. I hope in the process I can convince you to come along, and bring your team!

  • Kiran Makkapati

    As long time user of Autofac, I am sure this course would be wonderful. I believe Inversion of Control is one of the fundamental skills a developer need to posses in enterprise development. Do you think there is a possibility of you teaming up with Tekpub/Pluralsight and deliver this course to developers from other parts of the world?

    • Thanks for the encouragement, Kiran. I’d love to be able to do that at some point – hopefully the opportunity will come up.

  • Pingback: Dew Drop – March 21, 2011 | Alvin Ashcraft's Morning Dew()

  • Glad to hear that you are getting the opportunity to share your knowledge and experience. A couple of other subjects you could consider covering:

    – Model Binder Injection
    – View Page Injection
    – Unit Testing (AutofacWebTypesModule and mocking the request lifetime scope)

    Let me know if you find anything in the MVC integration that could be improved while writing your materials.

  • Pingback: Designing a Short Course on IoC: Day 2 : Nicholas Blumhardt()

  • Hi there! Its a wonderful initiative. I am new to the world of MVC and DI, do you have some tutorial for beginners of MVC3 with autofac? I really appreciate your efforts and reply.

    Thanks and Regards