Я пытаюсь использовать Ninject для внедрения репозиториев в контроллеры моего проекта MVC.
public class HomeController : Controller
{
private readonly ICustomerRepository _customerRepository;
//
// GET: /Home/
public HomeController(ICustomerRepository customerRepository)
{
_customerRepository = customerRepository;
}
}
Все это имеет смысл и достаточно просто, но когда представление становится более сложным и нуждается в отображении основного сценария детализации, могу ли я внедрить оба интерфейса репозитория? Это изменится, если он достигнет 4 или 5 уровней? (например, пользователь выбирает клиента, проект, группу, подразделение, а затем получает список людей)
Я придумал три вещи.
- Внедрить все необходимые репозитории через конструктор.
- Создайте концепцию супер-хранилища или
- Создание частичных представлений и контроллеров для каждого из репозиториев.
Есть ли передовая практика по шаблону, который я должен использовать для этого? Любое понимание было бы замечательно.