У меня есть страница ASP.NET, которая реализует мое представление и создает презентатора на странице constuctor. Phil Haack's post providing was used as the starting point, и я просто примеры из сообщения, чтобы проиллюстрировать вопрос.Зависимость службы инъекции ASP.NET MVP
public partial class _Default : System.Web.UI.Page, IPostEditView {
PostEditController controller;
public _Default()
{
this.controller = new PostEditController(this, new BlogDataService());
}
}
Каков наилучший подход для ввода экземпляра BlogDataService? В примерах, которые я нашел, используются свойства в классе страницы для зависимости, отмеченной атрибутом, который разрешает инфраструктура инъекции.
Однако я предпочитаю использовать подход конструктора для целей тестирования.
У кого-нибудь есть вход или, возможно, ссылки на хорошие реализации вышеизложенного. Я бы предпочел Ninject, но StructureMap или Windsor были бы хороши до тех пор, пока он бегло.
Благодарим за любую отзыв.
Мне это нравится, спасибо. – blu
Используя этот подход, представление теперь знает об IBlogDataService, который должен был быть известен только ведущему. Есть ли способ построить презентатор, используя контейнер DI, проходящий в текущем объекте представления и настроенный экземпляр IBlogDataService? – Scott
Использование локатора службы считается анти-шаблоном для IoC. Там должен быть лучший путь. –