经过长时间的发展,我的班级变得充满了状态变量。例如,我需要放置一个标志,等待视图返回后再继续操作。所以我想知道你们是否有任何良好或最好的做法来维持这种状态?
private BroadcastReceiver mClearJobReceiver = new BroadcastReceiver() {
@Override
public void onReceive(final Context context, final Intent intent) {
if (isResumed()) {
mPresenter.clearJob();
} else {
mNeedToClearJob = true;
}
}
};
@Override
public void onResume() {
super.onResume();
if (mNeedToClearJob) {
mPresenter.clearJob();
mNeedToClearJob = false;
}
}
答案 0 :(得分:0)
通常,当一个人遇到标志变量时,通常应该考虑状态设计模式的应用。这种模式是
用于根据内部状态封装同一对象的不同行为。 Wikipedia Entry
Nystrom,在游戏编程模式(2014)中指出,“复杂的分支和可变状态 - 随时间变化的字段 - 是两个......容易出错的代码类型”,以及特别推荐国家格局作为解决问题的方法。 OP问题的本质基本上是这个问题 - 在可变状态上分支(有多个+=
语句)。
OP的问题中没有足够的代码来提供详细的推荐代码解决方案。尽管如此,一般方法是为实现所述接口的每个州定义接口和类。一般而言,网络上应该有足够的指导,特别是SO,以便实施。