M model(模型)
处理应用程序数据逻辑的部分,通常模型对象负责在数据库中存取数据。
模型是应用程序的主体部分。 模型代表了业务数据和业务逻辑; 当数据发生改变时,它要负责通知视图部分;一个模型能为多个视图提供数据。由于同一个模型可以被多个视图重用,所以提高了应用的可重用性。
V view(视图)
通常视图是依据模型数据创建的。视图是用户看到并与之交互的界面。视图向用户显示相关的数据,并能接收用户的输入数据,但是它并不进行任何实际的业务处理。视图可以向模型查询业务状态,但不能改变模型。视图还能接受模型发出的数据更新事件,从而对用户界面进行同步更新
C controller(控制器)
通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。界面与数据的交互及逻辑。
当 Web 用户单击 Web 页面中的提交按钮来发送 HTML 表单时,控制器接收请求并调用相应的模型组件去处理请求,然后调用相应的视图来显示模型返回的数据
使用MVC是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。
MVC 模式运行机制
在 MVC 模式中,Web 用户向服务器提交的所有请求都由控制器接管。接受到请求之后,控制器负责决定应该调用哪个模型来进行处理;然后模型根据用户请求进行相应的业务逻辑处理,并返回数据;最后控制器调用相应的视图来格式化模型返回的数据,并通过视图呈现给用户
框架和设计模式的区别
百度百科讲的很详细 click here
这句话说的很好,框架是大智慧,用来对软件设计进行分工;设计模式是小技巧,对具体问题提出解决方案,以提高代码复用率
特点
耦合性低
MVC的三个部件相互独立,改变其中一个不会影响到其它俩个,所以依据这种设计思想能构造良好的松耦合的构件。
重用性高
随着技术的不断进步,需要用越来越多的方式来访问应用程序。MVC模式允许使用各种不同样式的视图来访问同一个服务器端的代码,因为多个视图能共享一个模型。
开发周期短
使用MVC模式开发时间得到相当大的缩减,它使后台程序员集中于业务逻辑,前端集中精力与表现形式上。
可维护性高
分离视图层和业务逻辑层也使得WEB应用更易于维护和修改。
由于不同层各司其职,有利于通过同城化,工具化管理程序代码。控制器也提供了一个好处,就是可以使用控制器来联接不同的模型和视图去完成用户的需求,这样控制器可以为构造应用程序提供强有力的手段。给定一些可重用的模型和视图,控制器可以根据用户的需求选择模型进行处理,然后选择视图将处理结果显示给用
原文:http://my.oschina.net/felumanman/blog/300867