MVC是模型(Model)、视图(View)和控制(Controller)三个单词的第一个字母,是一种目前广泛流行应用模型。它的目的是实现Web系统的职能分工,将输入,处理和输出分开。下图是MVC模型关系图。
- 模型层实现系统中的业务逻辑;
- 视图层则用于与用户交互;
- 控制层是模型与视图之间沟通的桥梁。
1、模型层(业务逻辑层)
模型层表示企业数据和业务逻辑,它是应用程序的主体部分。业务流程的处理过程对其他层来说是黑箱操作,模型接受视图请求的数据,并返回最终的结果。业务模型的设计是MVC的核心。
2、视图(表示层)
视图是用户看到并与之交互的界面,对早期web应用来说,视图就是HTML元素组成的界面。在新式web中,HTML依旧扮演重要角色,但是,包括Adobe Flash 和 XHTML等新技术已经层出不穷。
MVC架构一个大的好处是它能为Web应用处理很多不同的视图。在视图中其实并没有真正的业务处理发送,它只是作为一种输出数据并允许用户操纵的方式。
视图功能强大,主要体现在以下几个方面:
1)根据客户类型显示信息
2)显示商业逻辑(模型)的结构,而不关心信息如何获得,何时获得
3、控制器
控制器接受用户的输入,并调用模型和视图去完成用户的需求。所有,当用户web页面中的超链接或发生HTML表单时,控制器本身不输出任何东西,执行任何处理,它只是接受请求,并决定调用哪个模型构件去处理请求,然后确定哪个视图来显示模型处理返回的数据。
4、MVC处理流程
对于每一个用户输入,首先被控制器接受,并决定由哪个模型进行处理,然后模型通过业务逻辑层处理用户请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过显示页面呈现给用户。
5、MVC架构的优点:
1)低耦合性
由于视图层与业务层(模型)分开,使得修改视图代码或业务代码时,不需要重新编译其他模块的代码。2)高可用性和适用性
由于技术不断进步,现在访问应用程序可以有越来越多的方式。MVC模式允许使用不同样式的视图来访问同一段服务端代码。它包括HTTP浏览器或无线浏览器WAP。例如,用户可以通过计算机或手机来订购某产品,虽然订购方式不同,但处理订单的方式是一样的。由于模型返回的数据并没有格式化,所以同样的构件能够被不同的界面使用。很多数据可以用HTML表示,也可以用WAP表示,这些表示的更改仅需要更改视图层的实现方式,控制层无需变化。3)较低的生命周期成本
开发与维护用户接口的技术含量降低。4)部署快速
可大幅度缩减开发时间,使程序员精力集中于业务逻辑,界面开发人员集中精力于表项形式。5)有利于软件工程师管理
采用分层思想,每层具有某些相同的特征,利于过程化,工具化管理代码。