MVC ,MVP,MVVM 的区别

一句话概括:

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 都采用这种模式

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容