2

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?

Andy White
  • 86,444
  • 48
  • 176
  • 211

6 Answers6

5

Here is a list of IoC containers from the good Mr. Hanselman...

Dave Swersky
  • 34,502
  • 9
  • 78
  • 118
5

Castle Windsor is very popular, you could do worse than learn that.

Ian Nelson
  • 57,123
  • 20
  • 76
  • 103
4

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.

Matt Briggs
  • 41,224
  • 16
  • 95
  • 126
3

Google Guice is very good - unless you really need it, there are no .xml configuration files - everything is done via annotations, and in an ideal world you can avoid setter methods, injecting your dependencies via the constructor.

Rich
  • 15,602
  • 15
  • 79
  • 126
1

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.

Paul
  • 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
-2

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.

user188067
  • 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