Я работаю над своим первым проектом ASP.NET MVC, и я заметил, что контроллер, над которым я работал, становится довольно большим. Это, по-видимому, идет вразрез с наилучшей практикой, когда ваши контроллеры тонкие.
Я отлично справился с тем, что бизнес-логика вышла из контроллеров. Для этого я использую отдельный слой. Каждое действие в основном вызывает метод на бизнес-уровне и координирует конечный результат на основе того, действительно ли состояние модели.
Тем не менее, контроллер имеет большое количество методов действий. Интуитивно я хотел бы разбить контроллер на субконтроллеры, но я не вижу простого способа сделать это. Я мог бы просто разбить контроллер на отдельные контроллеры, но я потерял иерархию, и он чувствует себя немного грязным.
Нужно ли рефакторировать контроллер с большим количеством тонких действий? Если да, то каков наилучший способ сделать это?