OK, so you’ve past the point of deciding whether or not you will use an IoC container. Then you find out that is just the beginning of the road. How does that container fit in your application design? Should you pass it around, should you have a static accessor, or should all your components be completely free of any dependency on it’s existence? How can you create new components dynamically at run-time? How should you design your system to best take advantage the container without becoming coupled to it? This are questions you need to answer irrespective of which container you choose.
My colleague Nick has started yet another blog series to explore these questions and more. He is sharing his experiences based on his work with IoC containers, including designing Autofac. In his first post he explores the place of the container within the design. If you are using an IoC container or thinking about it, I highly recommend it.