Way back in chapter two, we left you with a “Flex your mind” exercise about potential problems with our Dating App MVC architecture. Let’s review where we left off and get around to answering the question that’s certainly been haunting you for all these chapters: what could possibly be better than MVC?
For each browser use case, there will be a corresponding set of Model, View, and Controller components, which might be mixed and matched and recombined in many different ways from use case to uses case.
The problem we had in the dating app was that we had many specialized controllers, which sounded good from an OO perspective, but left us with duplicate code across all the different controllers in our app, and didn’t give us a nice happy feeling about maintainability and flexibility.
A single MVC app will have many models, views, and controllers.