MVP、MVC、MVVM

MVC模式

在这里插入图片描述

1.view传送指令到controller

2.controller完成业务逻辑后,要求model改变状态

3.model将新的数据发送到view,用户得到反馈

4.所有通信都是单向的

对于MVC

M即model模型,数据层,负责数据的处理和获取他们的接口

V即view视图,视图层,指的时用户能交互的界面,比如由html组成或者软件的客户端界面

C即controller控制器,控制器层。它是model和view之间的组件

MVC运行流程

首先用户在view视图下,进行交互式操作

视图将用户的操作反馈到控制器(例如点击)

controller进行数据的调用和事务的处理

特别是当controller对数据造成更改之后

会反馈到model组件中

而model组件会将新的数据传输到view里

客户从而获得新的视图

MVC的和坏处

1.低耦合性

2.重用性高

3.部署快,生命周期成本低

4.可维护性高

不适合小型,中等规模的应用程序

视图和控制器之间的联系过于紧密,并且降低了视图对模型数据的访问

MVC适合中大型的后端应用,带逻辑性的,不太适合业务型

MVP模式

在这里插入图片描述

mvp模式将controller改名为presenter(广播),同时改变了通信方向

各部分之间的通信都是双向的

视图和模型解耦合,都通过presenter传递

视图非常薄,不部署任何业务逻辑,成为被动视图,而presenter比重过高

mvp适用于事件驱动的应用架构中,如asp.net web form , windows forms应用

MVVM模式

在这里插入图片描述

View和ViewModel双向绑定

vue中的v-model模块是对这种关系的应用

视图中的变化将实时反映在viewmodel中,react、angular也采用这种方式

MVVM模式将presenter层替换为ViewModel,其他的与MVP模式基本一致

它和mvp的区别是,采用双向绑定的概念

viewmodel中,react、angular也采用这种方式

MVVM模式将presenter层替换为ViewModel,其他的与MVP模式基本一致

它和mvp的区别是,采用双向绑定的概念

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值