2009-12-03 3 views
4

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

Спасибо!

ответ

5

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

Это сказанное -

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

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

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

Новейшее руководство я видел, что я полностью согласен, просто posted on Glenn Block's blog: «Если вы начинаете свежие можно использовать MEF для модульности, и общие аспекты вашего составного приложения В случае необходимости вы можете потянуть. в битах Prism. "

0

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

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

0

Хотя есть перекрытия, существенные отличия от 30000 зрений являются

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

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

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

Смежные вопросы