I've used Spring and Spring.NET quite a bit, but I would like to see what else is out there. Can anyone recommend a good Java or .NET framework that I could try to learn?
6 Answers
Here is a list of IoC containers from the good Mr. Hanselman...

- 34,502
- 9
- 78
- 118
-
1Thanks. I like Autofac and Ninject. – Scott Hanselman Feb 26 '09 at 05:56
Castle Windsor is very popular, you could do worse than learn that.

- 57,123
- 20
- 76
- 103
-
Agreed. It's very mature and feature rich, and at the same time it managed to stay surprisingly non-bloated. IMHO the best tool for the job. – Krzysztof Kozmic Feb 25 '09 at 14:09
-
1@KrzysztofKoźmic: Don't forget to note that you are a developer of Windsor :-) – Steven Jun 17 '13 at 07:45
On the .Net side, Ninject is probably the most interesting, on the Java side, I would say check out Google Guice. That being said, DI is DI, and they all more or less do the same thing. The differences are mostly in how they are configured.

- 41,224
- 16
- 95
- 126
I'd suggest JBoss Seam. It has a very different dependency injection model than Spring. Seam's DI is bidirectional and able to inject values at every stage in an object's life (not just during initialization).
It's certainly not a good for everything, but if your looking to try different things in DI, this is interesting.
Look at Seam's home page.

- 204
- 1
- 3
-
I agree with Paul. Seam definitely adds something new to the IOC world; I found "bijection" to be quite an interesting feature. – Richard Clayton Jun 10 '11 at 01:35
So in the wide world of software you feel the need to learn what is 'assumed plumbing' rather than expand your base? You just use IoC. It's not even optional for anyone serious. This is going on like a decade now.
Go master Functional Programming in say F#. Master the new IObserver and related work coming in .NET 4.0 as the conceptual pairing to IEnumerable. Write a domain specific language for your domain of choice. Create New abstractions, don't simply relearn old ones.

- 48
- 1
-
What's wrong with trying a new IOP framework? Perhaps the poster has already done all of what you said, but that really doesn't matter in the context of this discussion. – Richard Clayton Jun 10 '11 at 01:34