использование DI для загрузки экземпляра репозитория при каждом запросе mvc
Я читаю наэта почта что они используют внедрение зависимостей для загрузки экземпляра репозитория при каждом запросе mvc.
Я не уверен, правильно ли я понимаю, но в настоящее время я использую в своем приложении MVC.UserRepository
который реализуетIUserRepository
интерфейс. Этот интерфейс вставляется в конструктор контроллера
public class UserController : Controller
{
private IUserRepository repository;
public UserController(IUserRepository rep)
{ repository = rep; }
public UserController() : this(new UserRepository()) {}
}
но я не вижу никакой пользы от использования этого интерфейса (IUserRepository
) Я мог бы использоватьUserRepository
без интерфейса. Очевидно, кто-то умнее полагает, что это правильный подход (я нашел его в книге apress mvc4), и я хотел бы попросить кого-нибудь уточнить, почему этот подход лучше, чем использование репозитория без интерфейса.
Имея это в виду, я бы попросил кого-нибудь поделиться конкретными примерами или ссылками о том, как реализовать этот подход (использование внедрения зависимостей для загрузки экземпляра репозитория при каждом запросе mvc).