理解MVC模式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了理解MVC模式相关的知识,希望对你有一定的参考价值。

MVC是Model-View-Controller的简称,即模型-视图-控制器。

MVC是一种设计模式,它强制性地将应用程序的输入、处理、输出流程按照模型、视图、控制器的方式进行分类,并被分成3层:

  模型层、视图层、控制层。

  1.视图

    • 代表用户交互界面。
    • 视图向用户显示相关的数据,并能接收用户输入的数据,但是它并不进行任何实际的业务处理。
    • 视图可以向模型查询业务状态,但不能改变模型。
    • 视图还能接收模型发出的数据更新事件,从而对用户界面进行同步更新。

  2.模型

    • 模型是业务流程/状态的处理以及业务规则的制定。
    • 业务流程的处理过程对其他层来说是黑箱操作,模型接收视图请求的数据并返回最终的处理结果。
    • 一个模型能为多个视图提供数据。由于同一个模型可以被多个视图重用,所以提高了可重用性。
    • 业务模型的设计是MVC最主要的核心。

  3.控制器

    • 控制器可以理解为从用户接收请求,将模型与视图匹配在一起,共同完成用户的请求。
    • 控制层不做任何数据处理。
    • 比如:用户单击一个链接,控制层接收请求后,并不处理业务信息,而只将用户的信息传递给模型,告诉模型做什么,选择符合要求的视图返回给用户。
    • 一个模型可能对应多个视图,一个视图也可能对应多个模型。

  MVC的优点

    • 多个视图能共享一个模型。
    • 在MVC设计模式中,模型响应用户请求并返回响应数据,视图负责格式化数据并将它们呈现给用户,业务逻辑和表示层分离,同一个模型可以被不同的视图重用,大大提高了代码的可重用性。
    • 模型是自包含的,与控制器和视图保持相对独立,所以可以方便地改变应用程序的数据层和业务规则。
    • 由于MVC的3个模块相对独立,改变其中一个均不会影响其他俩个,所以依据这种设计思想能构造良好的松耦合的构件。

  MVC处理过程

    • 首先,控制器接收用户的请求,并决定应该调用哪个模型来进行处理。
    • 然后,模型根据用户请求进行相应地业务逻辑处理并返回数据。
    • 最后,控制器调用相应地视图来格式化模型返回的数据,并通过视图呈现给用户。

以上是关于理解MVC模式的主要内容,如果未能解决你的问题,请参考以下文章

iOS开发之理解iOS中的MVC设计模式

理解MVC模式

Android:安卓学习笔记之MVCMVP模式的简单理解和使用

Jsp+Servlet+JavaBean经典MVC模式理解

如何通过鹿哥提车快速理解mvc设计模式

MVC,MVVM模式的理解