MVP模式介绍及实例讲解其调用流程

本文介绍了MVP模式的起源及其相对于MVC的优势,详细阐述了MVP模式的架构,包括View、Presenter和Model各层的职责。通过代码实现展示了MVP模式在实际开发中的应用,详细描述了从View到Presenter再到Model的数据传递过程,并指出在实际项目中可能需要进一步的优化策略。
摘要由CSDN通过智能技术生成

为什么使用MVP模式:

   说到MVP就不得不提一下MVC,因为MVP模式就是由经典的MVC模式演变过来的。其实我们日常开发中的Activity,Fragment和XML界面就是一个MVC的架构模式。

    下面是MVC模式的架构图:

从图中,我们可以看出MVC模式的缺点:

       1.没有将View和Model剥离开来,View和Model的耦合性太强。Activity既要负责View的展示,又要负责业务逻辑的处理,这样处理违背了我们设计模式的单一职责原则,会导致Activity过于臃肿。

       2.有些地方逻辑处理是一样的,但是无奈和Activity的耦合性太强,无法实现复用。

而我们的MVP就是为了解决这些问题而诞生的。

       MVP模式介绍:

在MVP架构中,把View层和Model层真正的剥离开来了。

        View层只负责UI的展示(Activity、Fragment等)

        Presenter为业务处理层,负责业务逻辑的处理,既能调用View层进行UI的更新,又能从Model层获取数据。

        Model层:包含具体的数据请求,数据源。

 

   下面我们看看MVP模式的代码实现:

        1.先看下我的demo文件目录:

      (1)首先为View写一个通用的接口

public interface NewsView {

    void showProgress();

    void addNews(List<NewsBean> newsList);

    void hideProgress();

    void showLoadFailMsg();
}

      (1.1)并让相应的View实现这个接口

public class NewsListFragment extends Fragment implements NewsView {
    @Override
    public void showProgress() {

    }

    @Override
    public void addNews(List<NewsBean> newsList) {

    }

    @Override
    public void hideProgress() {

    }

    @Override
    public v
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值