2017-03-14 9 views
-2

開発の長い日の後、私のクラスは状態変数でいっぱいになりました。たとえば、何かを進める前にビューが戻るまで待機するフラグを設定する必要があります。だから、もし皆さんがこれらの州を維持するための良い、あるいは最善の習慣を持っているのだろうか?一般的に変数にフラグを付けるアーキテクチャソリューション

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

あなたのコードを投稿して説明してください。 – Umarov

+0

あなたがしようとしていることによります。私は何かをしようとする特定のユースケースを含めるようにあなたの質問を編集することをお勧めしたいと思います。 – azurefrog

+0

@azurefrog:コードを提供しました –

答えて

0

1がフラグ変数に直面したとき、1は、一般的に州デザインパターンの適用を検討すべきです。このパターンは、同じオブジェクトの内部状態に基づいて変化する動作をカプセル化するために使用される

です。 Wikipedia Entry

Nystromは、ゲームプログラミングパターン(2014)に、留意「複合分岐と可変状態 - 時間の経過とともに変化するフィールドは - コード二...エラープローンタイプである」、具体的に状況を解決するためのアプローチとしてState Patternを推奨しています。 OPの質問の本質は本質的にこの問題である - 突然変異可能な州で分岐する(複数のifステートメント)。

詳細な推奨コードソリューションを提供するには、OPの質問に十分なコードがありません。それにもかかわらず、一般的なアプローチは、前記インタフェースを実装する各状態に対するインタフェースとクラスの定義である。一般的なWeb、特にSOの実装を可能にするための十分なガイダンスが必要です。

関連する問題