理解MVC模式
2016-06-12 22:43
148 查看
MVC是Model-View-Controller的简称,即模型-视图-控制器。
MVC是一种设计模式,它强制性地将应用程序的输入、处理、输出流程按照模型、视图、控制器的方式进行分类,并被分成3层:
模型层、视图层、控制层。
1.视图
代表用户交互界面。
视图向用户显示相关的数据,并能接收用户输入的数据,但是它并不进行任何实际的业务处理。
视图可以向模型查询业务状态,但不能改变模型。
视图还能接收模型发出的数据更新事件,从而对用户界面进行同步更新。
2.模型
模型是业务流程/状态的处理以及业务规则的制定。
业务流程的处理过程对其他层来说是黑箱操作,模型接收视图请求的数据并返回最终的处理结果。
一个模型能为多个视图提供数据。由于同一个模型可以被多个视图重用,所以提高了可重用性。
业务模型的设计是MVC最主要的核心。
3.控制器
控制器可以理解为从用户接收请求,将模型与视图匹配在一起,共同完成用户的请求。
控制层不做任何数据处理。
比如:用户单击一个链接,控制层接收请求后,并不处理业务信息,而只将用户的信息传递给模型,告诉模型做什么,选择符合要求的视图返回给用户。
一个模型可能对应多个视图,一个视图也可能对应多个模型。
MVC的优点
多个视图能共享一个模型。
在MVC设计模式中,模型响应用户请求并返回响应数据,视图负责格式化数据并将它们呈现给用户,业务逻辑和表示层分离,同一个模型可以被不同的视图重用,大大提高了代码的可重用性。
模型是自包含的,与控制器和视图保持相对独立,所以可以方便地改变应用程序的数据层和业务规则。
由于MVC的3个模块相对独立,改变其中一个均不会影响其他俩个,所以依据这种设计思想能构造良好的松耦合的构件。
MVC处理过程
首先,控制器接收用户的请求,并决定应该调用哪个模型来进行处理。
然后,模型根据用户请求进行相应地业务逻辑处理并返回数据。
最后,控制器调用相应地视图来格式化模型返回的数据,并通过视图呈现给用户。
MVC是一种设计模式,它强制性地将应用程序的输入、处理、输出流程按照模型、视图、控制器的方式进行分类,并被分成3层:
模型层、视图层、控制层。
1.视图
代表用户交互界面。
视图向用户显示相关的数据,并能接收用户输入的数据,但是它并不进行任何实际的业务处理。
视图可以向模型查询业务状态,但不能改变模型。
视图还能接收模型发出的数据更新事件,从而对用户界面进行同步更新。
2.模型
模型是业务流程/状态的处理以及业务规则的制定。
业务流程的处理过程对其他层来说是黑箱操作,模型接收视图请求的数据并返回最终的处理结果。
一个模型能为多个视图提供数据。由于同一个模型可以被多个视图重用,所以提高了可重用性。
业务模型的设计是MVC最主要的核心。
3.控制器
控制器可以理解为从用户接收请求,将模型与视图匹配在一起,共同完成用户的请求。
控制层不做任何数据处理。
比如:用户单击一个链接,控制层接收请求后,并不处理业务信息,而只将用户的信息传递给模型,告诉模型做什么,选择符合要求的视图返回给用户。
一个模型可能对应多个视图,一个视图也可能对应多个模型。
MVC的优点
多个视图能共享一个模型。
在MVC设计模式中,模型响应用户请求并返回响应数据,视图负责格式化数据并将它们呈现给用户,业务逻辑和表示层分离,同一个模型可以被不同的视图重用,大大提高了代码的可重用性。
模型是自包含的,与控制器和视图保持相对独立,所以可以方便地改变应用程序的数据层和业务规则。
由于MVC的3个模块相对独立,改变其中一个均不会影响其他俩个,所以依据这种设计思想能构造良好的松耦合的构件。
MVC处理过程
首先,控制器接收用户的请求,并决定应该调用哪个模型来进行处理。
然后,模型根据用户请求进行相应地业务逻辑处理并返回数据。
最后,控制器调用相应地视图来格式化模型返回的数据,并通过视图呈现给用户。
相关文章推荐
- python的if语句
- Linux运维(数据库专题)面试题
- Android-银联支付开发
- 无锁队列的实现
- 无锁队列的实现
- 无锁队列的实现
- 从iOS端Facebook分享的预览效果到Open Graph Protocol(开放内容协议)
- HDU 1597 find the nth digit
- Linux应用编程之时间编程
- 冒泡排序 及其两次优化
- 第 5 章 内置函数
- Oracle学习 第4天之高级查询
- win10安装MySQL
- linux配置hosts
- jsp 与 html 区别
- Activity的启动模式
- oracle复习 - day01
- onInterceptTouchEvent、onTouchEvent、onTouch
- python
- oracle相关的下载地址