Я недавно начал читать о ASP.net MVC и, взволнованный этой концепцией, я начал переносить весь свой проект веб-формы на MVC, но мне трудно поддерживать мой контроллер в тонком состоянии даже после того, как я следовал всем хорошим советам. (или, может быть, я просто не понимаю ...).
Веб-сайт, с которым я имею дело, имеет Статьи, Видео, Цитаты ... и у каждого из этих объектов есть категории, комментарии, изображения, которые могут быть связаны с ним. Я использую Linq для sql для операций с базой данных, и для каждого из этих объектов у меня есть репозиторий, и для каждого репозитория я создаю службу, которая будет использоваться в контроллере.
так что у меня есть -
- ArticleRepository
- ArticleCategoryRepository
- ArticleCommentRepository
и соответствующий сервис
- ArticleService
- ArticleCategoryService ...
Вы видите картинку.
У меня проблема в том, что у меня есть один контроллер для статьи, категории и комментария, потому что я думал, что иметь ArticleController для обработки всего этого может иметь смысл, но теперь мне нужно передать все службы, необходимые для конструктора Controller. Поэтому я хотел бы знать, что я делаю неправильно. Мои услуги не разработаны должным образом? я должен создать сервис Bigger для инкапсуляции небольших сервисов и использовать их в моем контроллере? или у меня должен быть контроллер articleCategory и контроллер articleComment?
Страница, просмотренная пользователем, состоит из всего этого, статьи, которую нужно просмотреть, связанных с ней комментариев, списка категорий, к которым это относится ... как я могу эффективно разбить контроллер, чтобы сохранить это "тощий" и решить мою головную боль?
Спасибо!
Надеюсь, мой вопрос не слишком длинный для прочтения ...