ASP.NET MVC + беглый nNibernate, какой инструмент IoC? - PullRequest
8 голосов
/ 10 февраля 2009

Я работаю над проектом ASP.NET MVC, в котором мы решили использовать Fluent nHibernate для доступа к данным. Чтобы включить слабую связь, мы используем схему IoC / DI. Мои вопросы - это какой инструмент IoC? Я пытался найти различия между windsor, ninject, spring, структурной картой и единством, но трудно увидеть преимущества, которые каждый может предложить Каков твой опыт?

Ответы [ 5 ]

7 голосов
/ 10 февраля 2009

Скотт Хансельман (Scott Hanselman) опубликовал довольно хорошую статью для сравнения и сравнения многих популярных .NET IoC:

http://www.hanselman.com/blog/ListOfNETDependencyInjectionContainersIOC.aspx

6 голосов
/ 10 февраля 2009

Я использую StructureMap, и он очень прост в использовании. Лично я не люблю настраивать использование xml, а StructureMap упрощает настройку с использованием кода. Также очень легко переключать другой профиль, если вам нужно переключать реализации.

4 голосов
/ 10 февраля 2009

Я использую Виндзор, и мне не на что жаловаться. Простой в использовании, расширяемый, когда вам это нужно, и много информации, если вы застряли. Но я не думаю, что это так важно, какой контейнер вы выберете. Все они, о которых вы упомянули, имеют общие черты, а также есть адаптеры для mvc, доступные в проекте mvccontrib. Переключение на другой контейнер не должно быть сложным, если вы упаковываете контейнер в собственный класс, что в любом случае является хорошей практикой.

1 голос
/ 11 февраля 2009

Я использовал Виндзор и мне это нравится. Существует встроенное средство для использования NHibernate, которое позволяет легко конфигурировать протоколирование и соединения и т. Д.

Если вы планируете использовать FluentNhibernate, вы должны сообщить в Windsor, какая сборка имеет ConfigurationBuilder. У Майка Хэдлоу есть отличная статья об этом, а также о многих других на Windsor и NHibernate: http://mikehadlow.blogspot.com/2009/01/integrating-fluent-nhibernate-and.html

0 голосов
/ 09 января 2012

Я использую Munq , который является легким и быстрым, и это простой способ добавить DI-контейнер в проекты MVC3 через Nuget. До сих пор я не нашел необходимости переходить на другую структуру - Munq был очень адекватным.

PM> install-package Munq.MVC3

Это добавляет App_Start\MunqMvc3Startup.cs к проекту, и именно здесь должны быть зарегистрированы зависимости.

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