Explain the Model–View–Controller (MVC) architectural pattern.
Include in your answer:
-
What each component is responsible for:
-
How these components interact with each other during a typical request or user interaction.
-
The main benefits of using the MVC pattern compared with a more monolithic structure (e.g., separation of concerns, testability, maintainability, etc.).