Wednesday, 30 January 2013

PRISM Vs MEF


  • Prism is basically guidance for designing composite applications - where you have a shell and regions that are dynamically assigned, and integrated. It includes an IoC container (Unity) that it uses for it's injection.
  • MEF is a dependency injection framework - it's main goal is to fill in dependencies at runtime for an application. In this respect, it's filling the same goal as Unity does within Prism .
  • Prism fills a broader scope, in some respects, but is also really limited to GUI applications. MEF is just doing one thing (Dep. Injection), but geared to be more general purpose, for any type of application
  • Prism was developed by the Patterns and Practices team. The goal isn't to necessarily make software, but to provide guidance.MEF, from the blog posts, sounds like it is planned to be integrated into the framework, and be used directly inside of MS projects.
  • If you are building extensible applications, extensible frameworks and application extensions, then MEF is for you.The Composite Client Application Guidance is designed to help you more easily build modular Windows Presentation Foundation (WPF) and Silverlight client applications.
So,

  • MEF is not an IoC container, even though it uses IoC concepts.
  • MEF focuses on application reprehensibility with component discovery and composition.
  • PRISM is “a complete solution” for developing UI applications.
  • MEF is not “a complete solution” for developing UI applications although it can be used for creating applications that can be extended.

1 comment:

  1. Hi archita

    regular reader of your blog

    excellent suff...

    thanks for sharing your knowledge

    ReplyDelete