2015-02-16 3 views
1

Я пытаюсь понять инъекцию зависимостей в MVC. Я получил некоторую идею и успешно реализован с контроллерами, использующими расширение DefaultControllerFactory и используя ninject. Но я читал что-то вроде DI в представлениях, действиях и т. Д.Dependecy Injection с MVC, отличным от контроллеров

Я не получал DI в представлениях, или мое понимание не так. Если да, пожалуйста, скажите мне, как использовать и как это сделать. Я не понял других областей DI в MVC. Пожалуйста, объясните области, где DI используется в MVC, отличном от контроллеров.

ответ

1

В MVC вы должны попытаться сделать ваши представления как можно более независимыми. В идеальном случае единственной зависимостью, на которую он полагается, является ViewModel (другие службы и помощники просмотра доступны через класс WebPageBase, который все представления наследуют по умолчанию).

+0

ОК спасибо, но любая конкретная причина для этого. Так удалить сцепление с контроллером? я не могу получить Viewmodel .. Пожалуйста, объясните – Akhil

+2

Основной причиной является ** разделение проблем **, что приводит к лучшим результатам с точки зрения проверяемости, ремонтопригодности и масштабируемости. В очень упрощенном виде вы можете думать о «Контроллере» как о том месте, где вы имеете дело с «Http/Request/Cookie» и т. Д. «Модель» в качестве ваших данных (обычно в форме классов C#/VB и извлекаемых из некоторых база данных, подобная источнику данных) и 'View' как ваш вывод' HTML'. См. Больше на http://www.microsoftvirtualacademy.com/training-courses/introduction-to-asp-net-mvc – haim770

+0

Спасибо, и я тоже участвую в этом видео. Я согласен с DI и его концепцией. но мое замешательство заключается в том, почему во взгляде DI? а другой - где я добавляю DI в MVC? – Akhil