IoC: Cedric doesn't get it
Cedric is still not getting it
Me neither. Sort of.
While Cedric is wrong about the XML refactoring (Eclipse and IDEA both will attempt to modify class names in XML files), his point is still very valid. I like strongly typed languages, and the idea of putting class names and method names in an XML file doesn't sound appealing. While IDEA does refactor class names, it won't refactor method names (well), and it really never will -- it's just too difficult to pull off safely. Imagine refactoring "setId()"!
XWork's IoC container only stores basic information: class names of the interface and the "enabler" (FooAware). Beyond that, the rest is determined via the interface signatures, meaning refactoring is easy.
In the end, I actually like IoC when used mildly for loose coupling of components. However, it is far from a paradigm shift. It just forces you to identify your dependencies and lifecycles much more cleanly than you otherwise might. There certainly is some power to simply calling dispose() or reset() and knowing that all the dependent objects will also get their dispose() or reset() methods called.