2

Может ли кто-нибудь предоставить мне простой пример DI и IoC?
Я понимаю первый, но не смог получить реализацию второго.Изучение инверсии управления через инъекцию зависимостей в MVC 3

Я работаю с MVC 3, и я действительно хочу использовать IDependencyResolver, но я не могу понять, как это сделать.

Есть ninject вариант или он необходим?

Есть ли урок, например nerdDinner, и я не смог его найти?

Может ли кто-нибудь дать мне ссылку, чтобы изучить его?

ответ

9

Для того, чтобы быстро и качественно исследовать DI и его образцы и анти-шаблоны, я рекомендую получить DI in .NET. (Я заказал его уже EDIT: И это был переводчик страниц, который меня многому научил и должен хорошо обучать людей всем уровням опыта)

В противном случае читайте все Mark Seemann's high-rated posts here.

Я лично узнал от ninject wiki , но это, в то время как отлично, является Ninject 1.0 специфическим .

+2

+1 для чтения сообщений Марка Сеемана, которые действительно помогли мне. –

+0

Для тех, кто смотрит на это и ищет простой пример, пожалуйста, прочитайте [ниже] (http://stackoverflow.com/questions/4900398/learning-inversion-of-control-through-dependency-injection-in-mvc-3/4901434 # 4901434). –

+1

@ Держатель Сала: Идти всю болтовню на фанатизм, Его [Серия Zero трения блога] (http://blog.ploeh.dk/2009/01/28/ZeroFrictionTDD.aspx) и библиотека AutoFixture, которую она породила, чрезвычайно проницательны вещи тоже. –

0

Я не могу ответить на вопросы, связанные с asp, но с академической стороны тот факт, что вы используете DI, подразумевает, что у вас есть инвертированное управление.

Иными словами, если вы это сделаете не инвертируйте управление, вы в основном делаете различные компоненты приложения решающими своими зависимостями. Когда вы инвертируете управление, вы разрешаете разрешение зависимостей на другом уровне. Это «инверсия» контроля.

4

Это не мой пример, но я только что столкнулся, ища простой, функциональный пример. Он использует Ninject и конечная функциональность IoC из .Net MVC 3.

http://www.shahnawazk.com/2010/12/dependency-injection-in-aspnet-mvc-3.html

Простой загружаемый пример проекта в нижней части этой статьи.

+0

+1 более прямой ответ, чем мой. Здесь надеется, что OP может, после управления 2 upvotes в 1 год и 9 месяцев, задавая 10 вопросов, может добавить еще +1 к этому! –

+1

+1 отличный пример. Спасибо, что напомнил мне возможность подняться/понизить голос, я буду использовать чаще с этого момента. –

6

не использовать IDependencyResolver. Это не имеет никакого отношения к инверсии управления, и это принципиально нарушено. Если вы хотите научиться правильно использовать контейнер IoC с MVC 3, см. this tutorial (использует Windsor).

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