Microsoft’s Managed Extensibility Framework is somewhat of an unsung hero in the .Net world in my opinion. The framework itself is insanely powerful and magical but when you combine it with other patterns and frameworks like MVVM it becomes pure sorcery. If you haven’t checked out MEFedMVVM, I suggest doing so after you get up to speed on MEF and what it is and offers you as a developer.
To understand what MEF proper (ie: full-blown on the desktop) is and how you can use it, there are numerous examples throughout the interwebs. Check out this one and this one for a good start/overview.
What I couldn’t find, however, were actual code examples of using it on Windows Store or Windows Phone apps. The Windows Store support has existed for a few months now, so that surprised me. Let there be light!
Now imagine that you separate out your classes to other assemblies, or simply add new classes to one folder w/in your project. The ease with which you can now add and remove features and objects to your applications becomes MUCH greater, and your confidence in your changes goes up dramatically – you know that you *only* added a feature, you didn’t muck with the view, change the view model, write a bunch more code, just added a new class.
Go forth and cook your apps with MEF!
We recently concluded a planning exercise for the next few months of work. From this exercise, we’d like to share the next set of NuGet releases that we plan to do. We chose this particular set based on your feedback and internal partner requests.
All of these packages will be released as pre-release packages on nuget.org.
Mostly I just love Brandon's post title... but this is also good news for WP8 dev's. MEF is a great framework and it can really help you build plug-in'able app's.