これはSOに適していると思います。ハードウェアデバイスコントローラのデザインパターン
与えられた2つのクラス:ClassAは、アプリケーションのメインコントローラオブジェクトです。 ClassBはハードウェアデバイスを制御します(ネットワーク、USB、シリアルなど)。 ClassAはClassBオブジェクトを作成し、それを使用してハードウェアデバイスからデータを送受信します。
ユーザーがアプリケーションをシャットダウンする場合、ClassAはClassBに「シャットダウン」メッセージを送信します。場合によっては、ClassBはシャットダウンを完了するまでに長い時間を要します。たぶん、ハードウェアを既知の状態にリセットするか、実行中の操作が完了するまで待つ必要があります。
カップリングを最小限に抑えるため、ClassAとClassB間の通信に最適なデザインパターンは何ですか?シャットダウンメッセージのコールバック(メソッドまたはブロック)?定義済みの "shutdownComplete"メソッドを使用してプロトコルを委任しますか?他に何か?
また、ClassBは実際には抽象スーパークラスです。複数のハードウェアデバイスがあるため、それぞれにサブクラスBがあります。私はそれがデザインに影響するとは思わない。
ありがとうございます!
です。デリゲートメソッドとあまりにも多くのステートタイプ変数を使用していました。 – Flyingdiver