I used Castle Windsor in my previous project, and I really liked it. For my current project, I am looking to use a different IoC container. Castle Windsor has not had new releases since 2007 and is still not in version 1.0, so it is difficult to justify its use in a commercial environment.
One of the things that I like about Castle Windsor is that you can call the class using the Initialize method on your services after all the dependencies have been installed simply by creating the service IInitializable. I used it a lot. This simplifies the execution of property injection instead of the constructor injection, and it simplifies the code and tests a bit.
I considered StructureMap, AutoFac, Unity, and Spring.Net as alternatives, but only these Spring.Net supports something similar, it automatically calls the method Init(). Unfortunately, Spring.Net does not support the way I want to work with the IoC container (it enters based on string keys instead of interface declarations, and therefore its support for autwiring is also limited)
Did I miss a similar feature in the IoC containers I was looking at? Somehow my way of working with IoC containers? Or are there other IoC containers that support something like IInitializable or Init ()?
source
share