This has nothing to do with MVC but modularization or project organization with a whole independent of being MVC or not. It’s even about object orientation.
Facilitating maintenance is somewhat subjective.
In general we can say that if separate everything becomes easier to maintain, it gets more cohesive and maintains the principle of single responsibility.
On the other hand the code gets bigger, it needs more elements to bring it all together, and often maintenance won’t benefit from all this separation.
It is curious that the classical object orientation says that everything concerning the object must be next to it. But what they do in practice is the opposite of that and it separates everything that is not strictly necessary for that object.
No one can say what is best for your case, because it is not well defined. Without good definitions you can not decide anything. One of the biggest mistakes of developers is to think that the code is more important than planning what it is doing by harvesting the requirements clearly and broadly.
You need to consider whether these things will work better for you if you are separated or together. What can you facilitate in the future? If you choose a path because someone said it should be like this and it doesn’t make sense to your case you’re making a mistake. I don’t even know what those separate parts would be.
No magic formula These decisions depend on experience. If you want the experience of others you need to give an adequate level of detail. Even this is complicated because each will decide by their own experience that may not work for another person.
Optimal solutions in the hands of those who do not know how to manipulate them becomes a bad solution. Then it is better a solution more or less that is made right and the person dominates its use.
That’s why I always say that it’s common for developers to want to adopt certain paradigms, patterns, architectures, even coding styles that they don’t understand why they’re doing it and how to adopt it right, and it ends up being worse. The tool you master is always better than the one you don’t. Avoid the hype.
Did the answer solve your question? Do you think you can accept it? See [tour] if you don’t know how you do it. This would help a lot to indicate that the solution was useful to you. You can also vote on any question or answer you find useful on the entire site.
– Maniero