Model-View-Controller, or MVC for short, is an software architecture pattern for user interfaces that creates a distinction between the display (or view), the data (or model), and the interaction (or controller). In this article, I’m going to focus specifically on how MVC applies to the client side of web applications. What I mean is that MVC in a web based ui translates to
This separation of concerns means that as long as the model stays consistent, you can
- Create multiple views for the same model
- Develop the controller and views independently
For a great example of 1 checkout css Zen Garden. Here, the same HTML (the model) can be seen with many different views.
Django version control, design patterns, tree models, and pluggable applications: