Android 设计模式

MVP
M model
具体的业务逻辑处理的实现,处理应用的各种数据,比较复杂的需要实现interface来松耦合。
V view
主要负责显示,和用户进行交互,UI处理的逻辑都在这里处理,也可以处理一些简单的数据校验逻辑。
P persenter
处理各种逻辑的分发,控制UI的显示和隐藏、把数据交给model层做具体的业务逻辑操作,并处理返回的结果
MVP优点:
1. 降低耦合度
2. 模块划分明显,层次分明
3. 方便测试
4. 代码比较灵活
缺点:
1. 几乎所有的逻辑都在presenter层处理,presenter比较臃肿,维护困难
2. UI的控制放在P层,presenter和View层耦合度比较高
3. 额外的增加了很多代码,增加代码复杂度和学习成本
MVC
M model
适合做一些业务逻辑处理,比如数据库存取操作,网络操作,复杂的算法,耗时的任务等都在model层处理。
V view
显示数据,xml可以视为V层,显示M层的数据
C controller
桥梁作用,来控制V层和M层通信以此来达到分离视图显示和业务逻辑层。Android中Activity充当C层
MVC优点:
1. 代码耦合性比较低
2. 增加可扩展性
3. 模块职责划分比较明确
缺点:
1. 由于V和C层的逻辑都在Activity中,所以ACtivity的代码量比较大,后期维护比较困难
2. 增加额外的一些代码,不适合中小型项目。
MVVM
是通过DataBinding框架来实现数据和View绑定的一种模式,通过DataBinding可以实现单向和双向绑定,实现UI和数据之间的动态监听和动态更新。
优点:
1. 数据驱动
2. 低耦合
3. 自动更新UI
4. 可复用性
5. 单元测试
缺点:
1. 双向绑定,不利于view的复用
2. 出现bug比较难定位
3. 理解起来比较难,需要时间学习
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值