ここでは、入力パターンを状態パターンを実装するクラスのアクションにマッピングするための最良の戦略についてのプログラミングスタイルに関する質問があります。マルチステート物理デバイス制御状態パターン、第状態パターンを実装するときの状態遷移へのキーバインディングの適用
を実装:
class DeviceController {
State _a, _b, _current;
// Actions that may prompt a transition from one state to another
public void actionA() { ... }
public void actionB() { ... }
public void actionC() { ... }
public State getStateA() { ... }
public State getStateB() { ... }
public void setCurrentState() { ... }
};
第二は、すべてのキーボード入力を取得するのKeyListenerをして
Iは、2つのクラスを扱ってい押された入力キーが(現時点では)ハードコードされたバインディングテーブルと一致するとき、デバイスコントローラから適切なアクションを呼び出す。
Isコントローラー内のアクションにキーをバインドするベストプラクティスのコーディングスタイルがありますか?サンプルコードのようにswitch文を実行する必要がありますか?この解決策はやや汚れたコードであると思われます。ifとswitchの制御構造を解き明かすための状態パターンではないのですか?
あなたのsuggenstionsをありがとうございます。