zoukankan      html  css  js  c++  java
  • MVP模式

    在传统的Android开发中,我们一般是使用MVC模式进行开发的。
    传统MVC模式介绍:
    1. View: 视图层,对应xml文件
    2. Controller: 控制层,对应Activity和Fragment层,进行数据处理
    3. Model:实体层,负责获取实体数据
    在Android开发中采用MVC模式的一个最大的弊端就是xml作为View层视图能力实在太弱,所以一般情况下我们都是通过Controller层来辅助处理一些视图的。这样的结果就导致Controller既作为控制层的同时又承担了View层的大部分功能,采用MVC模式往往会导致Activity和Fragment中的代码非常复杂。我们将Android中采用的MVC模式称为MV模式更加恰当。
    MVP模式介绍:
    1. View: 视图层,对应xml文件与Activity/Fragment
    2. Presenter: 逻辑控制层,同时持有View和Model对象
    3. Model: 实体层,负责获取实体数据
     
    采用MVP模式的优势是:
    1. 把业务逻辑抽离到Presenter层中,View层专注于UI的处理。
    2. 分离视图逻辑与业务逻辑,达到解耦的目的。
    3. 提高代码的阅读性。
    4. Presenter被抽象成接口,可以根据Presenter的实现方式进行单元测试。
    5. 可拓展性强。
    采用MVP模式的缺点:
    1. 项目结构会对后期的开发和维护有一定的影响。具体视APP的体量而定。
    2. 代码量会增多,如何避免编写过多功能相似的重复代码是使用MVP开发的一个重点要处理的问题。
    3. 有一定的学习成本。
    综上所述,在Android上采用MVP模式的优势是:大大优化代码的维护性与拓展性的同时对代码进行深度解耦,使各个层级的分工更加明晰。
     
  • 相关阅读:
    深度图像的获取原理
    第二章 排序 || 第19节 最短子数组练习题
    第二章 排序 || 第18节 有序矩阵查找练习题
    tensorflow 之tf.nn.depthwise_conv2d and separable_conv2d实现及原理
    tensorflow 之常见模块conv,bn...实现
    机器学习中的训练数据不平衡问题
    一些智力题
    Pytoch 抽取中间层特征方法
    娱乐一下
    java访问ad域
  • 原文地址:https://www.cnblogs.com/YangBinChina/p/8970722.html
Copyright © 2011-2022 走看看