Fork me on GitHub

理解MVC模式

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

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

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

  1.视图

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

  2.模型

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

  3.控制器

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

  MVC的优点

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

  MVC处理过程

    • 首先,控制器接收用户的请求,并决定应该调用哪个模型来进行处理。
    • 然后,模型根据用户请求进行相应地业务逻辑处理并返回数据。
    • 最后,控制器调用相应地视图来格式化模型返回的数据,并通过视图呈现给用户。
posted @ 2016-06-12 22:43  郑斌blog  阅读(1518)  评论(0编辑  收藏  举报