私はさまざまな状態で実行するアプリケーションを持っています。例えば、state1
、state2
、およびstate3
です。アプリケーションの特定の動作は、ボタンが押されたなどのアプリケーションの状態に依存し、ボタンの状態に応じて状態が変わります。JavaScriptの状態と状態の変化を追跡するためのイディオム
標準イディオムまたはデザインがあるかどうかは疑問ですJavaScriptの状態変化を追跡するためのパターン。おそらく、私の言葉遣いは誤解を招くか、または不正確なので、私は例を挙げます。私はこのような状態を確認することがあります:
function foo() {
if (currentState === someState) {
doSomething();
}
}
しかし、私は複数の場所に文字列の状態をハードコーディングする必要はありませんように、状態を追跡したい、つまり、私は避けたいですこのこと:私はCURを変えることができる
var appState = {
state1: 'state1',
state2: 'state2',
state3: 'state3'
}
この方法:
function foo() {
if (currentState === 'state1') {
doSomething();
}
}
を念頭に来て最初にすることは、可能な各状態のためのプロパティを持つappState
オブジェクトを作成することですしかし、何かがこのソリューションについてオフに感じている
if (currentState === appState.state1) {
...
}
;:のようなアプリの状態を借りる:
などの状態を確認しますおそらくプロパティ名と値の繰り返し。
一般的なパターンやベストプラクティスを知るには、JavaScriptを読み書きする経験がありません。私は、上記の状況にJavaScriptコミュニティが従う標準的なソリューション/イディオムがあるのかどうか疑問に思っています。この質問を調べることで、私はState design patternとthis nice postというパターンをJavaScriptに適用する方法を知りました。私はこのルートを検討して、それを完全には割り引いていませんが、単純なアプリケーションでは不必要に複雑かもしれないようです。
ので、 、 質問は何ですか?有限状態機械の使い方は? –
ハードコードされた文字列がそれほど悪いのはなぜ分かりませんか?数字を使うこともできますか? –
このためのイディオムは "貧弱なデザイン"です。 – theonlygusti