У меня есть опыт работы с Structuremap
. И теперь я создаю крупномасштабное веб-приложение (на самом деле сайт социальной сети), используя ASP.NET MVC 3
, Entity Framework 4.1 code-first
, SqlServer 2008
, через C#.NET 4
. Какой из Structuremap
, AutoFac
и Ninject
вы предлагаете мне использовать в этом случае? Важна производительность и простота использования. Благодаря любой помощи, идее и предложению.
Structuremap, AutoFac или Ninject, какой из них отлично подходит для крупномасштабного веб-приложения?
Ответ 1
Я думаю, что между ними нет различий! Это связано с самим собой. У каждого тела есть несколько фаворитов, и вы тоже. Я использую StructureMap
и его достаточно хорошо для больших и/или небольших приложений.
UPDATE:
Хорошо, несколько месяцев назад я встретился с Simple Injector, который действительно очень прост и на самом деле быстро. Я использовал его в нескольких проектах с разными масштабами, и он действительно работает отлично.
Ответ 2
В этой статье представлено хорошее резюме самых популярных инфраструктур IoC и обсуждается их производительность, а также простота использования. В целом отлично читаем!
http://philipm.at/2011/di_speed.html
& продолжение в http://philipm.at/2011/di_speed_redux.html
Ответ 3
Если вы заинтересованы в том, КАК они используются в крупномасштабных веб-приложениях, один хороший взгляд на OrchardCMS; он использует Autofac.
Ответ 4
Я только что посмотрел/использовал Ninject и просто не потрудился смотреть на других. Простота использования и низкая кривая обучения подходят для моих последних двух проектов. IMO, это отличный контейнер IoC для больших и малых проектов.
Ответ 5
Я использовал Unity (некоторое время назад), AutoFac и StructureMap и предпочитаю StructureMap, особенно для своего метода AssertConfigurationIsValid
, который я использую в модульных тестах, чтобы утверждать, что моя конфигурация StructureMap действительна (актуальна, re с использованием DI на основе конструктора).
Насколько мне известно, только StructureMap предлагает это средство.
При использовании ASP.NET MVC мне также нравится, как пакет StructureMap NuGet отлично подводит вас к работе.