前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >前端MVC&MVP&MVVM

前端MVC&MVP&MVVM

作者头像
奋飛
发布2019-08-15 10:11:59
4100
发布2019-08-15 10:11:59
举报
文章被收录于专栏:Super 前端

“少壮不努力,长大干IT!”。公司项目重构终于进入尾声了,两个月快累成“狗”了。重构前端框架使用了MVVM+Node,从“铁器时代”直接进入“全栈时代”。下面是自己关于前端框架的肤浅认识。

一、MVC

MVC的全称为Model View Controller

这里写图片描述
这里写图片描述

- Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。通常模型对象负责在数据库中存取数据。 - View(视图)是应用程序中处理数据显示的部分。通常视图是依据模型数据创建的。 - Controller(控制器)是应用程序中处理用户交互的部分。通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。

所有通信都是单向的。 例如:Backbone。

二、MVP

mvp的全称为Model-View-Presenter

这里写图片描述
这里写图片描述

- Model提供数据 - View负责显示 - Controller/Presenter负责逻辑的处理

MVP与MVC有着一个重大的区别:在MVP中View并不直接使用Model,它们之间的通信是通过Presenter (MVC中的Controller)来进行的,所有的交互都发生在Presenter内部,而在MVC中View会从直接Model中读取数据而不是通过 Controller。

各部分之间的通信,都是双向的;View 与 Model 不发生联系,都通过 Presenter 传递。 例如:Riot

三、MVVM

MVVM的全称为Model-View-ViewModel

这里写图片描述
这里写图片描述

基本上与MVP模式完全一致。唯一的区别是,它采用双向绑定(data-binding):View的变动,自动反映在 ViewModel,反之亦然。 例如:Angular、Ember。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2015年11月01日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、MVC
  • 二、MVP
  • 三、MVVM
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档