软件架构MVC, MVP, MVVM

复杂的软件必须有清晰合理的架构,否则无法开发和维护。

MVC(Model-View-Controller)是最常见的软件架构之一,业界有着广泛的应用。它本身很容易理解,但是要讲清楚,它与衍生的MVP和MVVM架构的区别就不容易了,但是通过几张图片可以很容易对架构的基本原理进行理解。

1.     MVC

MVC模式的意思是,软件分为三个部分,Model,View,Controller

Model: 保存的数据

View: 视图,用户界面

Controller: 控制器,也就是业务逻辑

他们三者的具体关系如图:



View将用户指令发送给Controller, Controller 根据业务逻辑处理指令,然后将结果发送给Model去保存结果,Model保存完结果之后,将结果发送给View显示出来,所有的通信都是单向的。

2.     互动模式

接受用户指令的时候,MVC可以分成两种模式,一种是通过View接受指令,传给Controller,如图:


另外一种是通过Controller接受指令,如图:


3.     MVP模式

MVP就是分为Model,View,Presenter,就是讲Controller变为了Presenter,不过同时改变了通信方向,具体表现如图:



各部分通信都是双向的,View和Model不发生关系,View非常薄,数据被动视图,没有任何的主动性,只是用来显示数据,Presenter会很厚,包含所有的逻辑(业务逻辑和视图显示逻辑)。

4.    MVVM

MVVM就是将Presenter变成了ViewModel,唯一的区别就是MVVM采用双向绑定,View的变化会自动反映在ViewModel上,反之,ViewModel的改变也会在View上体现。






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值