I’m just trying to get my head around the Managed Extensibility Framework (MEF) at the moment and digging into a bit. I have an Eclipse background so in my brain I currently have the equation:
MEF =~ OSGi for .NET
Based on what I have heard so far. Am I on the right lines?
Scott Hanselman helped to highlights the specifics about MEF in his podcast 148 with Glenn Block.
Compared to OSGi, MEF is built upon ‘Inversion of Control’ and OSGi is not: it (OSGi) will discover new bundle through a different mechanism based on a Life Cycle Layer.
Since the last point can be confusing, the transcripts of the podcast can help:
Conclusion: (one of) the main difference is the discovery principle (IoC vs. lifecycle)