Я решил использовать ASP.NET MVC для проекта веб-сайта и хочу следовать некоторым лучшим рекомендациям, о которых пишется.
Итак, я разделил Домен / Модель на отдельный проект, создал IRepositories и конкретные репозитории и теперь обратил мое внимание на Castle Windsor как IoC .
Проблема, с которой я сейчас сталкиваюсь, заключается в том, что для конкретного контроллера в конструкторе мне теперь придется передавать несколько параметров IRepository.
Мои вопросы:
- Возможно, я создал слишком много репозиториев - в общем, я отображаю 1 репозиторий в 1 класс сущностей в 1 таблицу базы данных. Должны ли мои репозитории содержать более одной таблицы сущностей / БД?
- Я пропустил момент с IoC и Dependency Injection, и не должен ли я беспокоиться о том, как параметры передаются в конструктор Controller?
Чтобы дать какой-то контекст. На части веб-сайта будет отображаться карта свойств Google, в которой можно искать по типу недвижимости (замок, дом, паб и т. Д.), местоположение (почтовый индекс, город), * 1027 * время открытия и т. Д.
Таким образом, все эти компоненты для поиска являются отдельными сущностями PropertyType, Address.City, Address.Postcode.Lat + Long, OpeningTime.DateTime. Следовательно, есть также 3 отдельных репозитория, которые необходимо передать в конструктор SearchController.
Это простой пример, но я могу предположить, что в будущем многие другие параметры хранилища будут передаваться в другие контроллеры.
Надеюсь, все это имеет смысл.
Спасибо за любые ответы или советы.