2

私はVB.Netでデータロギングソフトウェアを開発しています。私は、会社が生産する多くのデータ ロガーと連携する共通のインターフェイスを実装するクラスを開発しました。これらのクラスは、低レベルのハードウェア インターフェイスを処理し、データ ロガーのレコードにアクセスするための一般的なメソッドを公開します。

私の問題は、誰かが突然ハードウェアを切断するのを処理するための良い習慣は何ですか? ある種のステータス パケットで、例外をスローするか、イベントを発生させるか、または false を返す必要がありますか?

私の基本的な考えは、オブジェクトが表すデバイスが切断されて失敗したときにオブジェクトが送信者に通知し、その後、切断されたことを DeviceLocator クラス (デバイスを自動検出してコレクションを維持する) に何らかの方法で通信し、削除することです。デバイスのコレクションからそれを廃棄します。

任意のヒント?

4

1 に答える 1

1

大まかに言えば、「ドライバー」レイヤーから結果コードまたはエラー メッセージを返す必要があると思います。将来的には、データ パケットをさまざまな種類のクライアントに公開することが必要になる場合があります。WCF クライアント、または Web サービスを呼び出すモバイル クライアントがある場合、例外をスローしたり、イベントを発生させたりしても意味がありません。これらの条件をキャッチしてクライアントごとに変換する別のレイヤーを作成する必要があるため、可能な限り低いレベルでこれを行う必要はありません。

より詳細な答えは、実際のアーキテクチャによって異なります。たとえば、コンシューマーに新しいデータを通知するためにデリゲートを使用しますか? エラー状態が発生したときに呼び出されるデリゲートを用意してみませんか。

于 2010-01-26T02:46:51.040 に答える