MVC框架理解

作者: AngerCow | 来源:发表于2017-12-14 11:20 被阅读0次

我们先来看看什么是MVC?
全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。

MVC 编程模式

MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的模式:

  • Model(模型)表示应用程序核心(比如数据库记录列表)。
  • View(视图)显示数据(数据库记录)。
  • Controller(控制器)处理输入(写入数据库记录)。
    MVC 模式同时提供了对 HTML、CSS 和 JavaScript 的完全控制。
    Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。
      通常模型对象负责在数据库中存取数据。
    View(视图)是应用程序中处理数据显示的部分。
      通常视图是依据模型数据创建的。
    Controller(控制器)是应用程序中处理用户交互的部分。
      通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。
    MVC 分层有助于管理复杂的应用程序,因为您可以在一个时间内专门关注一个方面。例如,您可以在不依赖业务逻辑的情况下专注于视图设计。同时也让应用程序的测试更加容易。
    MVC 分层同时也简化了分组开发。不同的开发人员可同时开发视图、控制器逻辑和业务逻辑。
    框架主要包含三个内容:
    视图(View)
    视图是用户看到并与之交互的界面。
    模型(Model)
    模型表示企业数据和业务规则。
    控制器(Controller)
    控制器接受用户的输入并调用模型和视图去完成用户的需求。
    image.png
    **控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。
    引自[百度百科]
    我们从结构图可以看出,整个框架形成了一个闭环,这也符合设计模式的开放-封闭原则。那我要区分框架与设计模式有什么区别。
    基本上,每一个模块只要与上一个模块通讯,不需要知道上个模块跟其它模块的关系。这样可以分离出单个模块,在开发中,这对团队分工与细分工作有很大的好处。
    **一个框架里可能有多个设计模式,但是一个设计模式不能统称为框架。设计模式是设计上的复用,框架是代码的复用。设计模式是比框架更抽象的,框架可以用代码表示,可以直接执行与复用,设计模式只有实例可以复用执行。
    如果是小型项目,引入mvc可能会增加项目周期,mvc前期设计与搭建比较费时费力,这是需要需要精心的计划的。
    理解好mvc,做为程序进阶的一步重要步骤,没有好理想的程序员不是好美术。
    这是顺便说下MVP,MVVM模式。可以加深mvc理解。
    转自这里

MVP

MVP 模式将 Controller 改名为 Presenter,同时改变了通信方向。

[图片上传失败...(image-90cd76-1513221593103)]

1. 各部分之间的通信,都是双向的。

2. View 与 Model 不发生联系,都通过 Presenter 传递。

3. View 非常薄,不部署任何业务逻辑,称为"被动视图"(Passive View),即没有任何主动性,而 Presenter非常厚,所有逻辑都部署在那里。

MVVM

MVVM 模式将 Presenter 改名为 ViewModel,基本上与 MVP 模式完全一致。

[图片上传中...(image-95c34f-1513221593103-0)]

唯一的区别是,它采用双向绑定(data-binding):View的变动,自动反映在 ViewModel,反之亦然。Angular

Ember

都采用这种模式。

相关文章

  • MVC框架理解

    我们先来看看什么是MVC?全名是Model View Controller,是模型(model)-视图(view)...

  • Spring

    一、对SSM的理解 ①ssm框架是spring MVC ,spring和mybatis框架的整合,是标准的MVC模...

  • 面试问题总结

    1. 说说对mvvm框架的理解。 mvvm框架有模型、视图、视图模型组成。它与mvc框架的区别在于,mvc模型、视...

  • 第三天

    1、对MVC、MVVM、MVP的理解? MVC (1)MVC:是后台的框架模式分为M:(model模型)、V...

  • 理解JavaScript MVC 框架

    Model–View–Controller (MVC)是一种把信息展现逻辑和用户交互分离的计算机用户界面开发模式;...

  • mvc 框架的理解

    MVC是一种代码的组织方式,是一种具体的代码重用的实现方式,并不是一种设计模式,MVC三层各负其责互不干扰,实现了...

  • 谈谈Android框架 MVC、MVP、MVVM的区别

    今天写写Android的MVC、MVP、MVVP三个框架的对比,并加深自己对这三个框架的理解。 一 . MVC:M...

  • MVC框架

    MVC框架是经典的技术架构,以下是针对产品经理对MVC框架的浅层理解。 Model(M):模型结构层 View(V...

  • Java EE 极简教程(四):MVC 模式

    MVC 模式 MVC 模式是一种软件框架模式,被广泛应用在 JavaEE 项目的开发中。MVC 模式很好理解,但也...

  • 从 MVC 到前后端分离

    1 理解 MVC 2 MVC 模式的优点与不足 3 认识 REST 4 实现 REST 框架 4.1 统一响应结构...

网友评论

    本文标题:MVC框架理解

    本文链接:https://www.haomeiwen.com/subject/xnihwxtx.html