首页> 站长杂谈 > 正文

MVC与MVVM架构模式介绍

  • 来源:
  • 2018-07-14 22:43:22
  • 人已阅读
一、MVC模式(重点)

1.1.  MVC模式是什么

MVC是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:
模型(Model) - 应用程序中模型数据,对数据的操作(CRUD)。
视图(View) - 应用程序与用户交互的界面(HTML)。
控制器(Controller)- 应用程序处理请求进行处理,它是模型和视图的胶水。

1.2.  MVC模式结构

MVC将应用程序划分为三种组件,模型(Model) - 视图(View) - 控制器(Controller)(MVC)设计定义它们之间的相互作用。
 
模型(Model) 用于封装与应用程序的业务逻辑相关的数据以及对数据的处理方法。“ Model ”有对数据直接访问的权力,例如对数据库的访问。“Model”不依赖“View”和“Controller”,也就是说, Model 不关心它会被如何显示或是如何被操作。但是在前端的 Model 中数据的变化一般会通过一种刷新机制被公布。为了实现这种机制,那些用于监视此 Model 的 View 必须事先在此 Model 上注册,从而,View 可以了解在数据 Model 上发生的改变。(比如:观察者模式(软件设计模式))
 
视图(View)能够实现数据显示。在 View 中一般没有程序上的逻辑。为了实现 View 上的刷新功能,View 需要访问它监视的数据模型(Model),因此应该事先在被它监视的数据那里注册。
 
控制器(Controller)起到不同层面间的组织作用,用于控制应用程序的流程。它处理事件并作出响应。“事件”包括用户的行为和数据 Model 上的改变。
mvc模式
二、MVP模式(了解)

1. 各部分之间的通信,都是双向的。
2. View 与 Model 不发生联系,都通过 Presenter 传递。
3. View 非常薄,不部署任何业务逻辑,称为"被动视图"(Passive View),即没有任何主动性,而 Presenter非常厚,所有逻辑都部署在那里。
mvp模式
三、MVVM模式

MVVM 模式将 Presenter 改名为 ViewModel,基本上与 MVP 模式完全一致。
mvvm模式
唯一的区别是,它采用双向绑定(data-binding):View的变动,自动反映在 ViewModel,反之亦然。Angular 和Vue就是采用的这种模式。

文章评论

 Top