Model-view-controller is a design pattern that defines a structure that works well for user interface programming. It came out of the Smalltalk community and has since been adopted by the deisgn patterns folks [link]. The basic idea of MVC is to separate the data that the user is working with (the model) from the business logic (the controller) from the presentation (the view). It's a nice idea and it works well in practice, too.
People have tried to apply MVC to web user interfaces but it's not as clean a fit. The biggest issue is that the web is stateless so there's no persistent "model", what passes for a model is the data that will get displayed on the page that the view returns to the user. So the breakdown is usually like so:
- controller: the code that catches the request from the browser and figures out what to do based on that request
- model: the data that's built by the controller and passed to the view
- view: the code and data that format the model into a purty web page and return it to the browser.
--
TobyCabot - 24 Nov 2002
Copyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding The Caboteria?
Send feedback