Мне нравится думать о контроллерах с точки зрения областей доменов, за которые они отвечают. Таким образом, вы всегда можете объединить и разделить их, чтобы найти баланс.
Например, у вас может быть один гигантский контроллер для пользователя домена. Или вы можете разделить его на такие области, как «Пользователь / Настройки», «Пользователь / Профиль», «Пользователь / Заказы», «Пользователь / Статистика» и т. Д.). Когда они растут, вы делите их далее, например «Пользователь / OrderingStatistics», «Пользователь / VisitStatistics», «Пользователь / ItemGroupStatistics» и т.д.