0

以下のシステムにおけるディスパッチャの関連性は何ですか?

これはパターン/原則ですか?

エレベーターのリクエスト

ここの関連性を推測することはできませんDispatcher

文献によると、Dispatcher車ごとに 1 つずつあり、その主な機能は、車の目標移動方向と目的地を計算し、ドアの開放時間を維持することです。はDispatcher、 を除くシステム内のほぼすべてのコントロール オブジェクトと対話しますLanternControl

HalButtonControllerと直接話さないのはなぜDrivecontrolですか?DriveControlが実行できず、 が必要な責任は何Dispatcherですか?

4

1 に答える 1

0

ボタンとドライブコントロールはステートレスです - ディスパッチャーはシステム内の状態を維持する責任があります。ディスパッチャがなければ、2 つのボタンが押された場合、両方の入力がドライブ コントロールに送信され、システムが異常終了します (または、ドライブ コントロールが入力の 1 つを無視するだけです)。代わりに、ディスパッチャーはボタン入力をインターセプトして適切にキューに入れ (つまり、ボタン入力を反映するようにシステム状態を変更します)、ドライブ コントロールに順次ディスパッチします。

于 2013-04-21T04:05:58.660 に答える