Android中Mvp与Mvc模式的区别

MVC简介

       使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如一批统计数据可以分别用柱状图、饼图来表示。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。


MVC缺点:

  在MVC里,View可以直接访问Model,从而View里会包含Model信息,不可避免的还要包括一些业务逻辑。所以当交互比较复杂,view又比较多变的情况下,更改view比较困难,view中的业务逻辑是无法复用的。


MVP简介:

与MVC重大区别:在MVP中View并不直接使用Model,它们通信是通过Presenter来进行的,而MVC中View会从Model中直接读取数据而不是Controller。


MVP优缺点:

Presenter把M和V完全分离开,交互逻辑都在Presenter里实现,而且P与V没有直接关联,是通过定义好的接口进行交互,从而使变更View时可以保持P不变,即重用!该模式下开发起来结构清晰易懂,耦合度低,但是代码量文件数量会变大。


举例:

在MVC模式下,Activity给人的感觉是View + Controller,有view还有交互逻辑,因此一个Activity有可能会变得很庞大,

但是在MVP模式下,Activity约等于View这一层,然后有专门的Presenter来负责交互逻辑,大体可以这样理解吧。



  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值