Ich empfehle, sich die Herding Code-Podcasts mit Glenn Block anzuhören. ( Teil 1 y Teil 2 ). Er geht auf genau dieses Thema ein, und zwar viel ausführlicher, als wir es hier beantworten können.
Davon abgesehen -
MEF und Unity sind die beiden Dinge, die sich ziemlich stark überschneiden. Prism verwendet in seiner Standardform Unity für die Injektion von Abhängigkeiten. Sie können Prism stattdessen mit MEF verwenden, wenn Sie möchten.
Prism ist eher für Verbundwerkstoffanwendungen im Bauwesen konzipiert. Bei MEF hingegen geht es um Erweiterbarkeit. Hier gibt es definitiv einige Überschneidungen bei den Zielen, aber der grundlegende Antriebsfaktor ist unterschiedlich.
- Im Fall von Prism geht es darum, bekannten Code zu organisieren.
- Bei MEF hingegen geht es darum, neuen Code zu entdecken und ihn in geeigneter Weise zu integrieren.
Der neueste Leitfaden, den ich gesehen habe und dem ich voll und ganz zustimme, war gerade veröffentlicht im Blog von Glenn Block : "Wenn Sie neu anfangen, können Sie MEF für die Modularität und allgemeine Aspekte Ihrer Composite App verwenden. Wo es angebracht ist, können Sie Prism-Bits einbauen."