Android 设计模式

MVC

MVP

简介

主要分两种:Passive View和Supervising Controller。后者很少用,不同在于Presenter会把一部分简单的同步逻辑交给View自己去做,Presenter只负责比较复杂的、高层次的UI操作。
优点

  1. 解耦了View和Model依赖。
  2. View可以进行组件化。
  3. 便于测试。

缺点

  1. 接口较多;
  2. View和Model之间的繁琐同步。

MVVM

简介

model,View,ViewModel构成。
在ViewModel当中会有一个叫Binder,或者是Data-binding engine的东西。以前全部由Presenter负责的View和Model之间数据同步操作交由给Binder处理。核心是Two-way data-binding,双向数据绑定。声明View上的显示的内容是和Model的哪一块数据绑定的。当ViewModel对进行Model更新的时候,Binder会自动把数据更新到View上去,当用户对View进行操作(例如表单输入),Binder也会自动把数据更新到Model上去。

优点

  1. 解决了MVP大量的手动View和Model同步的问题,

缺点

  1. 简单页面,大材小用,比较重;
  2. 大型的图形应用程序,ViewModel的构建和维护的成本都会比较高;
  3. 数据绑定的声明是指令式地写在View的模版当中的,这些内容是没办法去打断点debug的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值