2

State パターンを使用して、物理マシンを制御するサービスを設計しています。マシンには、Open 状態と Closed 状態があります (他にもいくつかの便利な状態があります)。さらに、Open ==> Close のようなトランジションがあります。

これらの遷移は、時間がかかる物理的なプロセスを開始します。本当にそれらを状態としてモデル化する必要があるかどうか疑問に思っています。

一方で、これらはマシンが期待する安定した状態ではありません。複数の動作がなく、コマンドを受け入れません。Opening はただ 1 つのことを行います - それは Open に移行します。

一方で、私は、人々がサービスを照会して、その状態が何であるかについて実際の回答を得られるようにしたいと考えています。プロセスが私の状態を要求し、Open コマンドをマシンに送信したが、それが開始を完了していない場合、状態に対して何を返す必要がありますか? オープニングは正しいですね。

アドバイス?知恵?2 つのアプローチの間にトレードオフはありますか?

4

0 に答える 0