MVC ,MVP,MVVM 的区别

2018-01-03  本文已影响266人  Ludiwgbet

一句话概括:

MVC(Model-View-Controller), 模块-视图-控制器, 由 MVC 衍生出的 MVP, MVVM。

1. MVC

MVC 的意思是, 软件可以分为三个部分。

视图(View):用户界面.

控制器(controller):业务逻辑

模型(Model): 数据保存

1. View 传送指令 到 Controller

2. Controller 完成业务逻辑后, 要求 Model 改变状态。

3. Model 将新的数据发送到 View. 用户得到反馈

实际项目中 往往会采用更灵活的方法。

2. MVP

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

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

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

3. View 非常薄, 不部署任何业务逻辑, 称为 被动视图,Presenter 非常厚, 所有逻辑都部署在那里。

3. MVVM

MVVM 模式, 将Presenter 改名为 ViewModel.

唯一的区别是, 它采用双向数据绑定,(data-binding) : View 的变动。自动反映在 ViewModel, 反之亦然。 Angular 和 Ember 都采用这种模式

上一篇 下一篇

猜你喜欢

热点阅读