MVC是“Model-View-Controlller”的缩写,中文翻译“模式-视图-控制器”。MVC很好的实现了数据层和表示层的分离。MVC通常用于分布式应用系统的设计和分析中及确定系统各部分间的组织关系。MVC把交互系统的组成分解成模型、视图、控制器三种不见。模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用户同个某个视图的控制器改变了模型的数据,所有依赖于这些数据的视图都应反映这些变化。因此,无论何时发生何种数据的变化,控制器都会将变化通知所有的视图,导致显示更新。
1、控制器(Controller):控制器类处理客户端向Web应用程序发出的请求,获取数据,并指定返回给客户端,用来显示处理结果的视图。职责:从Model获取数据,然后通过viewdata传递给view数据,可以使用不同的view呈现数据。 2、视图(View):视图类是 Web应用程序用来生成并显示HTMO格式的服务器对客户端请求的相应结果的模板文件。 3、模型(Model):模型类代表了应用程序的数据,这些数据通常具有一个数据验证逻辑,用来是的这些数据必须符合业务逻辑。
1、分离逻辑与具体展示,能够对逻辑进行独立测试
优点:
1、原生态url routing,便于url rewrite
2、control与view完全分离,利于换肤且没有性能损失。
3、便于输出对html做完全的控制,利于精简代码
4、表现层的性能可以优化到极致
5、应用asp.net的master以及去除控件的运行时特性,使用vs开发将可以使用
缺点:
1、开发人员需要花时间熟悉这个新技术 2、现有代码移植到MVC需要一定时间 3、开发人员需要熟悉html以及css、JavaScript 4、开发人员需要摆脱在webform开发时对服务器空间种种依赖。