MEF i Prism służą dwóm bardzo różnym celom.
Prism jest po prostu wytyczne do projektowania aplikacji kompozytowych - gdzie masz skorupę i „regiony”, które są przydzielone dynamicznie i zintegrowane. Zawiera pojemnik IoC (Unity), którego używa do iniekcji.
MEF jest ramy wtrysk zależność - to głównym celem jest „wypełnienie” depedencies w czasie wykonywania dla aplikacji. Pod tym względem wypełnia on ten sam cel, co Jedność w pryzmie (a właściwie można łatwo przerobić Prism, aby używał MEF zamiast Unity).
Pryzmat wypełnia szerszy zakres, pod pewnymi względami, ale tak naprawdę jest ograniczony do aplikacji GUI. MEF wykonuje tylko jedną rzecz (Dep. Injection), ale ma na celu bardziej ogólny cel dla każdego typu aplikacji.
Edycja w odpowiedzi do aktualizacji:
Jak dla życia tych produktów -Nie ma tu żadnej odpowiedzi, ale to jest trochę jak jesteś one opracowywane:
Prism został opracowany przez zespół Patterns and Practices. Celem nie jest koniecznie tworzenie oprogramowania, ale dostarczanie wskazówek.W związku z tym aktualizują (choć nieczęsto) bibliotekę Prism i próbkę, ale Prism nie jest rdzeniem struktury dostarczanej przez Microsoft. To jest naprawdę trzecia biblioteka (mimo że MS dużo jej finansuje, większość osób P & nie jest MS FTE).
MEF z postów na blogu brzmi, jakby planowano zintegrować go z ramami i używać bezpośrednio w projektach MS. Jako taki, staje się coraz intensywniejszy, bezpośrednio od firmy Microsoft i wykorzystywany w swoich produktach.
Ja osobiście przeczytałem dokumentację Prism (i mam książkę) i przejrzałem próbki. Bardzo pomocne jest zrozumienie, jak rozdzielić aplikację, ale tak naprawdę jest to poradnik bardziej niż kompletne, użyteczne ramy. Próbki są bardzo dobre w robieniu tego, do czego są przeznaczone - naucz się architekta, jak zaprojektować złożoną aplikację.
Jeśli twoim celem jest utrzymanie czystego rozdziału obaw w aplikacji silverlight, skupiłbym się bardziej na nauce MVVM niż na używaniu Pryzmatu.
Jeśli chcesz używać MEF, istnieją inne dobre opcje. Na przykład: WPF Application Framework to cała platforma MVVM zbudowana na podstawie użycia MEF i całkiem przyjemna.
Mieszanie obawy tutaj trochę ... podstawowe usługi Prism mają niewiele wspólnego z MVVM ... pakiet poradnictwo popycha MVVM/MVP, ale Prism „Bity "nie można podsumować jako struktura MVVM. –
Tak, zgadzam się. Sugerowałem, że patrzenie na MVVM może być lepszym punktem skupienia niż niekoniecznie patrząc na Prism, biorąc pod uwagę pragnienie PO zbudowania aplikacji "podzielonej na kawałki". Nie próbowałem sugerować, że Prism jest strukturą MVVM. –
Biorąc pod uwagę twoją reprezentację tutaj, pomyślałem tak, to brzmiało tak. Twoja edycja poprawiła się ładnie. :) –