This can help if you explain what your problem is; itβs easier for the community to solve specific problems than to answer βis there a simpler solution that does not require me to understand what Iβm not formulating.β However, it would be nice to make sure you are happy with Fowler's articles on this subject ( http://martinfowler.com/articles/injection.html and http://martinfowler.com/bliki/InversionOfControl.html ). If you understand these articles, you can better ask questions specific to your problem domain.
To answer your question directly, I found that Ninject is the most intuitive dependency injection platform, mainly due to the pretty nice free interface for binding. StructureMap was almost as enjoyable. I have limited experience with Castle Windsor, usually only occasional use in other projects. I was working on a SharpArchitecture project project and replaced Windsor Ninject with previous projects.
Regarding the use of the DI library, the most important thing in my experience is to limit the control range of your DI card to a relatively small size. For example, I found that in web applications, DI containers are usually best when you only call them ControllerFactory.
The most tedious DI container I worked with was in Spring (although I'm sure it is better than when I last used it), but there are some really great examples of how to use it, since it has been as powerful as in the Java community and in .NET.
Edit: Assuming your goal is to learn how DI can be applied in a not completely trivial model project, consider the example project that comes with SharpArchitecture (perhaps after reading the tutorial on the SharpArchitecture website). See http://www.sharparchitecture.net/
The sample project is in C #, and the SharpArchitecture toolkit covers much more than dependency injections, but this should make you much more than most of the trivial examples of projects I've seen on the Internet.
source share