Silverlight - призма, единство и структура управляемой расширяемости, - PullRequest
4 голосов
/ 03 декабря 2009

Я пытаюсь создать бизнес-приложение с использованием Silverlight. Я чувствовал, что у меня все хорошо, потом кто-то задал несколько вопросов. Сразу же я действительно запутался. Я вижу дискуссии вокруг Prism, Unity и Managed Extensibility Framework. Однако все они выглядят так, будто пытаются решить одну и ту же проблему. Я чокнутый? Как эти три элемента сравниваются / контрастируют друг с другом?

Спасибо!

Ответы [ 3 ]

5 голосов
/ 03 декабря 2009

Я рекомендую прослушивать подкасты Herding Code с помощью Glenn Block. ( Часть 1 и Часть 2 ). Он углубляется в эту тему, гораздо более подробно, чем мы можем здесь ответить.

Это, как говорится -

MEF и Unity - две вещи, которые частично перекрываются. Prism в своей форме по умолчанию использует Unity для внедрения зависимостей. Вы можете использовать Prism с MEF, если хотите, вместо этого.

Prism больше предназначен для создания композитных приложений. MEF, с другой стороны, о расширяемости. Здесь определенно есть совпадение целей, но основной движущий фактор другой.

  • В случае с Призмой это все об организации известного кода.
  • MEF, с другой стороны, предназначен для обнаружения нового кода и его правильного внедрения.

Самое новое руководство, которое я видел, с которым я полностью согласен, было просто опубликовано в блоге Гленна Блока : «Если вы начинаете с нуля, вы можете использовать MEF для модульности, а также общие аспекты вашего композита Приложение. Где уместно, вы можете вытащить биты призмы. "

0 голосов
/ 04 декабря 2009

Несмотря на то, что существует перекрытие, существенные отличия от вида 30 000:

Unity является контейнером IOC. Используйте его, чтобы сделать ваше приложение более свободно связанным

Prism - это механизм, который делает ваш интерфейс более свободным. Как упоминал Рид, он использует Unity, чтобы помочь сделать это.

MEF позволяет сделать ваш код расширяемым . Это полезно, когда приходится взаимодействовать с кодом, который будет написан кем-то другим. Например, если ваше приложение будет поддерживать плагины.

0 голосов
/ 03 декабря 2009

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

Сегодня была эта публикация, в которой обсуждаются два сценария, в которых MEF и Prism работают вместе, чтобы предоставить решения. Каждый сценарий использует функции, которых нет в каждом, с правилами 80/20 для тех функций, которыми они делятся.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...