Недавно я начал читать об ASP.net MVC, и, увлекшись этой концепцией, я начал переносить весь свой проект веб-формы в MVC, но мне трудно сохранить мой контроллер тощим, даже после того, как я следовал всем хорошим советам (или, может быть, я просто не понимаю...). На веб-сайте, с которым я работаю, есть статьи, видео, цитаты... и у каждого из этих объектов есть категории, комментарии, изображения, которые могут быть связаны с ним. Я использую Linq to sql для операций с базой данных, и для каждой из этих сущностей у меня есть репозиторий, и для каждого репозитория я создаю службу, которая будет использоваться в контроллере.
так что я -
- СтатьяРепозиторий
- СтатьяКатегорияРепозиторий
- СтатьяКомментарийРепозиторий
и соответствующий сервис
- СтатьяСервис
- СтатьяКатегорияСервис ...
вы видите картину.
Моя проблема заключается в том, что у меня есть один контроллер для статьи, категории и комментария, потому что я думал, что обработка ArticleController всего этого может иметь смысл, но теперь мне нужно передать все службы, необходимые конструктору контроллера. Поэтому я хотел бы знать, что это такое, что я делаю неправильно. Мои услуги не разработаны должным образом? Должен ли я создать более крупный сервис, чтобы инкапсулировать более мелкие сервисы и использовать их в моем контроллере? или у меня должен быть Контроллер категорий статей и Контроллер комментариев к статьям?
Страница, просматриваемая пользователем, состоит из всего этого: статьи для просмотра, комментариев, связанных с ней, списка категорий, к которым она применяется ... как я могу эффективно разбить контроллер, чтобы он оставался «тощим». "и решить мою головную боль?
Спасибо! Надеюсь, мой вопрос не слишком длинный, чтобы его читали...