Android的设计模式MVP

MVP和MVC

  1. MVC模式:MVC实际上就是MV模式,把一下网络请求更新业务逻辑更新UI界面等功能写在Activity里面,例如:网络请求图片回调更新加载到Activity的ImageView控件上,Activity已经切换入了后台,但是还保留对Activity实例的引用,无法回收,使有可能出现内存泄漏;

    Model:就是JavaBean实体类,用于保存实例数据
    View和Controllor:对应于Activity,其实就是程序的 UI 界面,用于向用户展示数据以及接收用户的输入

  2. MVP模式:MVP把Activity中的UI逻辑抽象成View接口,把业务逻辑抽象成Presenter接口,Model类还是原来的Mode;

    Model:JavaBean实体类
    View:UI逻辑
    Presenter:负责完成View于Mode间的交互,业务逻辑

  3. MVP作用
    • 分离了视图逻辑和业务逻辑,降低了耦合;
    • Activity只处理生命周期的任务,代码变得更加简洁;
    • 视图逻辑和业务逻辑分别抽象到了View和Presenter的接口中去,提高代码的可阅读性;
    • Presenter被抽象成接口,可以有多种具体的实现,所有方便进行单元测试;
    • 业务逻辑抽象到Presenter中去,避免后台线程引用着Activity导致Activity的资源无法被系统回收从而引起内存泄漏和OOM;
  4. MVP使用
    • 创建IPresenter接口,把所有业务逻辑的接口都放在这里,并创建它的实现PresenterCompl(在这里可以方便地查看业务功能,由于接口可以有多种实现所以也方便写单元测试);
    • 创建IView接口,把所有视图逻辑的接口都放在这里,实现类是当前的Activity/Fragment;
    • Activity里包含了一个IPresenter,而PresenterComple里有包含了一个IView并且依赖了Model,Activity里只保留对IPresenter的调用,其它工作全部留到PresenterCompl中实现;
    • Model并不是必须有的,但是一定会有View和Presenter;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值