我想了解MvP設計模式的概念。我的意思是,我明白了,這很容易。主要問題是最佳實施。我試圖讓我自己BaseActivity,BasePresenter和基本視點只是爲了提取我的所有活動的聯合的一部分,我已經完成這件事是這樣的:我應該在Mosby MvP概念中創建BaseActivity/Presenter和View嗎?
BaseActivity
public abstract class BaseActivity<T extends BasePresenter<? extends IBaseView>> extends FragmentActivity implements IBaseView {
protected T presenter;
private ActivityConfig activityConfig;
@Override
final protected void onCreate(Bundle savedInstanceState) {
activityConfig = getConfig();
super.onCreate(savedInstanceState);
presenter = createPresenter();
setContentView();
initLibraries();
prepareView(savedInstanceState);
addFragments();
}
protected abstract ActivityConfig getConfig();
protected abstract T createPresenter();
protected abstract void prepareView(Bundle savedInstanceState);
protected abstract void addFragments();
private void setContentView(){
View root = View.inflate(this, activityConfig.layoutId, null);
setContentView(root);
}
private void initLibraries() {
ButterKnife.bind(this);
Timber.plant(new Timber.DebugTree());
}
@Override
public BaseActivity getCurrentContext() {
return this;
}
@Override
public T getPresenter() {
return presenter;
}
}
BasePresenter
public abstract class BasePresenter<T extends IBaseView> {
public abstract void loadData(boolean refresh);
}
基本視點
public interface IBaseView {
BaseActivity getCurrentContext();
BasePresenter getPresenter();
}
它工作正常,但我覺得這是不好的設計,使我想用Mosby代替。問題是,所有的教程都不涉及基類的方面,他們只是使用Mosby的基礎(我認爲這很糟糕,因此我必須複製我的代碼(例如Butterknife.bind())。你們給我一些很好的設計,快速啓動類莫斯MVP或者給我一些建議,我應該如何分配我的項目由於
有到MVP Android上許多不同的方法,他們中的每一個與*優點*和*缺點*,很難說哪一個是正確的或更好你將不得不爲自己找到一個最適合你的人。 –