To MEF or not to MEF?
Did you ever wanted to build a modular application? You know when you program against interfaces rather than actual implementation, and the implementation is likely to change anytime? The implementation resides in building blocks and you can just replace these building blocks whenever you want. Or maybe you wanted to build an extensible application that can work nicely with plug-ins. I could go on and on with examples but in general, we can say that we have an application and a couple of modules, extensions, building blocks, whatever, and we just want to ”plug” them into our application, without writing any more plumbing code or applying any modification.