为什么使用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 addNew

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

被折叠的 条评论
为什么被折叠?



