4 Stimmen

Silverlight - Prism, Unity und das Managed Extensibility Framework,

Ich versuche, eine Geschäftsanwendung mit Silverlight zu entwickeln. Ich hatte das Gefühl, dass ich gut vorankomme, bis jemand ein paar Fragen stellte. Sofort war ich sehr verwirrt. Ich sehe Diskussionen über Prism, Unity und das Managed Extensibility Framework. Es sieht jedoch so aus, als würden sie alle versuchen, das gleiche Problem zu lösen. Bin ich verrückt? Wie lassen sich diese drei Elemente miteinander vergleichen?

Ich danke Ihnen!

5voto

Reed Copsey Punkte 536986

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."

0voto

Rick Punkte 722

http://blogs.msdn.com/gblock/archive/2009/12/02/mef-and-prism-to-be-or-not-to-be.aspx

Heute wurde ein Beitrag veröffentlicht, der zwei Szenarien beschreibt, in denen MEF und Prism zusammenarbeiten, um Lösungen anzubieten. Jedes Szenario nutzt Funktionen, die nicht in beiden Systemen zu finden sind, mit 80/20-Regeln für die Funktionen, die sie gemeinsam haben.

0voto

Jacob Adams Punkte 3914

Obwohl es Überschneidungen gibt, sind die wesentlichen Unterschiede aus der 30.000er-Perspektive folgende

Unity ist ein IOC-Container. Verwenden Sie ihn, um Ihre Anwendung lose gekoppelt zu machen

Prism ist darauf ausgerichtet, die Benutzeroberfläche lose zu koppeln. Wie Reed bereits erwähnte, nutzt es Unity, um dies zu erreichen.

MEF ist dazu gedacht, Ihren Code erweiterbar . Dies ist hilfreich, wenn Sie mit Code interagieren müssen, der von jemand anderem geschrieben wurde. Ein Beispiel ist, wenn Ihre Anwendung Plugins unterstützen wird.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X