Вопрос

Какой МОК рассматривает при разработке проекта веб -приложений ASP.NET и каковы преимущества различных МОК?

  1. Объект -строитель
  2. Единство
  3. Spring.net
Это было полезно?

Решение

Это не в вашем списке, но подумайте о том, чтобы посмотреть на Замок Виндзор

Количество объектов, таких как поддержка заводов, так что заводской продукт вводится, а не сама фабрика или объект WCF для инъекции прокси или создания хозяина с зависимостями.

Имеет приятный интерфейс Fluent для подключения отдельных элементов, но предпочтительно вы использовали бы соглашение для автоматического проворения, чтобы вам не приходилось перечислять каждый компонент.

Некоторые другие приятные функции:

  • Требуется один DLL с момента нового ревизии.
  • Поддерживает впрыскивание списков и массивов через резолюры подразделения

Здесь это опрос, проведенный в этом году, показывающий предпочтительный МОК. Unity кажется лучшим, но это, вероятно, потому, что это продукт Microsoft, и мастер -классы Microsoft по умолчанию заберут его.

Другие советы

Мы используем StructureMap на проекте ASP.NET MVC и нашел его невероятно полезным. Единственным реальным недостатком является ограниченная документация. Автопроводка работает очень хорошо, и она требует очень небольшой конфигурации, если вы используете сильные соглашения, чтобы назвать ваши классы и интерфейсы, например:

 public interface ISomething { ... }

 public class Something: ISomething { ... }

До этого мы использовали Spring.net, хотя мы бросили это, поскольку он делает много других (не IOC) вещей, которые нам действительно не нужны, и требовали сложной конфигурации XML, чтобы сделать то, что нам нужно. Как контейнер IOC, он работал нормально и был очень гибким.

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

Материал Unity в MVC3 тоже выглядит интересно, но еще не имел возможности поиграть с ним.

Я сомневаюсь, что многие люди использовали более двух или трех из них, и в моем довольно ограниченном опыте с Unity и Ninject в конечном результате не так уж большой разницы. У них есть немного Различные варианты настройки отображений, и я уверен, что некоторые из наиболее продвинутых функций различаются, но они, вероятно, редко используются. В конце дня требования основного контейнера МОК не так сложны - вы можете легко свернуть свои собственные.

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

Для того, что это стоит, я бы порекомендовал Ninject, хотя бы потому, что он очень легкий.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top