私のシナリオをできる限り説明しようと思います。
アプリケーションのティックごとに、キーボードとマウスの現在の状態を照会し、それらを個々のクラスとデータ構造にラップします。キーボードの場合はKeys列挙型 (現在押されているキーごとに 1 つの項目) の配列であり、マウスの場合は、押された各ボタンの座標デルタとブール値を含むクラスです。
また、スタックを維持し、状態をマーシャリングする状態マネージャー クラスを介して管理される基本的な状態マシンもあります。
私が知りたいのは、入力 (スナップショット) をアプリがいつでもできる個々の状態に渡すのに最適な方法です。
状態内のロジックの繰り返しを減らすために、個々の状態からできるだけ多くの入力を処理したいと思います。
または、入力スナップショットを可能な限り純粋に保ち、それらを状態に渡して、入力固有のロジックを非表示に保つことができるようにする方がよいでしょうか?
注:
この構造は、私が想像するゲームの動作に似ています。このアプリケーションはゲームではありませんが、できるだけ迅速に処理する必要があります。