I like to think of controllers in terms of the domain areas for which they are responsible. Thus, you can always combine and separate them to find a balance.
For example, you might have one giant controller for a domain user. Or you can break it down into areas such as User / Settings, User / Profile, User / Orders, User / Statistics, etc. When they grow, you split them further, like User / OrderingStatistics, User / VisitStatistics, User / ItemGroupStatistics, etc.
user151323
source share