MVC代表模型-视图-控制器(Model-View-Controller),起源于20世纪70年代的Smalltalk开发社区,2003年起随着Ruby on Rails的出现才在Web上流行使用。
模型(Model):建立软件所围绕的领域,建立领域模型。例如,博客,模型可能是帖子和评论。
视图(View):模型的可视化表示,它通常是框架渲染给浏览器的结果标记。例如表现博客帖子的HTML。
控制器(Controller):提供视图和模型之间关联的协调程序。控制器负责处理输入、对模型进行操作,并决定执行哪一个动作,如渲染一个视图,或重定向到另一个页面。例如,控制器可能要找出一篇帖子的最新评论(模型),并将它们传递给视图进行渲染。
总的说来,控制器接受用户输入,构造适当的模型,然后将其传递给视图。控制器和视图对模型都有依赖性,但模型本身对控制器和视图是一无所知的。如图1.3所示。