Я случайно позаимствовал эту книгу, инъекцию зависимостей в .NET, у друга. Я вижу, что вы говорите. Я действительно считаю, что это "инъекция ублюдка". Это жестокий термин, но я полагаю, что в конце концов в ColdFusion (кашель) есть тег "CFABORT" как часть языка.
Также я заметил хорошую статью в блоге Как не делать инъекцию зависимостей - статический или одноэлементный контейнер .
По сути, прежде чем мы начнем, давайте что-нибудь уберем с пути:
Внедрение зависимостей! = Использование контейнера IoC "
Вот кикер: «Это рождение статического контейнера. Вместо того, чтобы изменять конструктор контроллера для получения зависимости, мы просто меняем строку, в которой создается экземпляр сервиса, чтобы разрешить его, используя вместо этого контейнер . "
public class HomeController
{
private readonly IExampleService _service;
public HomeController()
{
_service = Container.Instance.Resolve<IExampleService>();
}
public ActionResult Index()
{
return View(_service.GetSomething());
}
}