Android之通用MVP模式框架
在最近的学习中,我写代码都一直在使用通用的MVP模式框架,在使用的过程中,最让我感触非常深的是,整个代码的层次感非常清晰,耦合度非常低,扩展非常方便,以及能很好的处理Presenter和View直接内存溢出情况。如果你在写代码,我非常建议你使用这种框架下,下面请跟着我的思路走吧。
1、先看以下的构架:
在这里你将看到model层下的BaseModelInter、presenter层下的BasePresenter、view层下的BaseViewInter。下面我们来看看这两个接口,以及一个抽象类的代码。
BaseModelInter.java
public interface BaseModelInter {
}
BaseViewInter.java
public interface BaseViewInter {
}
BasePresenter.java
public abstract class BasePresenter<T extends BaseViewInter, M extends BaseModelInter> {
private WeakReference<T> weakReference;
protected M model;
public void attach(T t) {
weakReference = new WeakReference<>(t);
model = getModel();
}
public void deAttach() {
if (weakReference != null) {
weakReference.clear();
weakReference = null;
}
}
public boolean isViewAttached() {
return weakReference != null && weakReference.get() != null;
}
public T getView() {
if