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