WCSF против MEF, что лучше для меня? - PullRequest
1 голос
/ 07 апреля 2010

Я работаю над большим веб-приложением, которое включает в себя множество модулей (CRM, Inventory, Administration и т. Д.). Я хочу, чтобы я смог разработать каждый из этих модулей независимо (пользовательский интерфейс, базовая логика, логика DataAccess и все ), а затем интегрировать их все вместе в основной модуль (эта интеграция должна быть только изменением в файле конфигурации). Например, если у меня есть основной модуль с именем Host, я должен иметь возможность добавить модуль CRM в модуль хоста, просто добавив эту строку в файл конфигурации хоста:

Я немного почитал WCSF и обнаружил, что он может помочь объединить некоторые модули вместе, но на самом деле он не предлагает такой большой помощи в плане интеграции этих элементов пользовательского интерфейса.
Некоторые друзья предложили MEF для работы, но я еще не смотрел на это.
Что, вы парни, думаете?
Можно ли достичь этого уровня модульности, и сколько работы мне нужно потратить, чтобы заставить его работать?

Ответы [ 2 ]

1 голос
/ 07 апреля 2010

Когда я читаю вопрос, я думаю: я бы пошел с MEF и избегал SCSF по многим причинам

  • MEF очень легкий для реализации, особенно против WCSF
  • WCSF предъявляет множество требований для начала работы
  • WCSF добавляет ненужные сложности к типичным операциям
  • MEF уже имеет много опций для подбора модулей
  • Глен Блок (отец MEF) качается!
  • Глен всегда делает MEF лучше, «легче» и «мощнее» одновременно.
  • MONO ребята тоже пытаются поиграть с MEF
  • WCSF - это WF 1 (не WF 4, и речь идет не о том, как недавно, а о многих проблемах в WF 1)

Однако это все не считается. WCSF и MEF разные. Аргумент не звучит нормально для меня.

То, что вы ищете, например, WCSF предназначено именно для этого. MEF для функциональности внутри каждого модуля, например, если это лучше.

Вы в MVC? Рассматривали ли вы возможности MVC 2.0 (RTM сейчас)?

Edit: Смотрите эту серию из 5 частей: http://blogs.msdn.com/simonince/archive/2008/06/19/wcsf-application-architecture-5-defining-modules.aspx

Edit2 Эта ссылка очень полезна для обсуждения между IoC (который выглядит так, как вы видите MEF) и WCSF: http://theniceweb.com/?cat=45

1 голос
/ 07 апреля 2010

Это то, что делает MEF, и, поскольку он становится частью BCL из .NET 4, я бы определенно согласился (обратите внимание, что он также доступен в форме с открытым исходным кодом для .NET 3.5 SP1).

Однако не ожидайте, что какой-либо инструмент позволит вам магически разрабатывать слабосвязанный код. Это прежде всего дизайнерская дисциплина. Вы также можете писать модульные приложения, используя общие шаблоны внедрения зависимостей и надстроек, используя только BCL (хотя DI-контейнер будет полезен).

...