I think it depends on how big your site will be. The logical names for your controllers are the most important part, which makes your source easy to navigate very important.
As a rule, I think that itโs good to take a sheet from a CRUD book if you are not sure, especially if you are dealing with a data model that supports it. For a specific module (e.g. Products), you must have a controller responsible for creating, reading, updating, and deleting (as well as an index for viewing).
If you have less CRUDDY on the site (for example, Stack Overflow), then dividing the controllers into logical areas (for example, perhaps PostController, SearchController, etc.) may be more useful, but it really depends on your site and its architecture.
Sorry, I couldnโt be more useful, in most cases itโs best to learn by doing anyway. If you're a beginner, then an approach that you think is best based on the suggestions and examples you've seen. One good approach to .NET and ASP.NET MVC is that refactoring is later quite simple.
source share