I'm always a bit astonished at my unastonishment upon finally trying out some new Microsoft three-letter acronym*. I suppose I should be used to it by now, but the experience never fails to be peculiar.
These new-fangled technologies, patterns, or what have you always start out as these nebulous and ethereal things tossed around in typical techno-babble jargon fashion. "I suggest using an MVVM pattern with IoC and one of the popular DIFs in WPF. Also, have you considered trying out MEF or MAF?" Any normal person would be justifiably dumbfounded by the preceding statement. (Is it any wonder IT folk are rarely invited to parties?)
I don't mean to diminish any interest in said technologies, as they very often end up being pretty cool and useful. My unastonishment upon using them is probably more related to relief at them not being as terrifyingly complex as I always for some reason assume them to be. Perhaps I've been scarred too much in the past learning about horrifying CS theories, NP Hard problems, and complicated algorithms by long-dead fellows (Dijkstra, you are the bane of CS sophomores).
At any rate, I'm once again in the position, this time with regards to MEF. I finally took a stab at it in a little side project I've been doing at work with the free time I've had lately between major projects. It's pretty neat, allows for a lot of customizability if you want to sub-class stuff, and isn't as bad as I was dreading. As far as DIFs go, it works fairly well, though as most people will point out its main goal isn't specifically IoC and as such it doesn't put emphasis on being the best and most usable IoC out there, but it can be used as one provided your needs aren't too complicated.
Omake Bonus: At first, I thought people were typoing when they said MAF…
* Interestingly, this phrase can be represented as exactly what it describes: TLA