0

次の問題があります: 複数のデバイスからの (ビデオ) 入力を表示するソフトウェアがあります。デバイスには、異なるインターフェイスと異なる構成可能なプロパティ (解像度、fps、出力形式など) があります。各デバイスの種類がそのプロパティを公開する方法で実装したいと思います。動的に変化する GUI (可能なプロパティに基づいて作成されます) を作成し、この GUI を使用してデバイスのランタイムを構成します。問題は、それを実装するための標準的な設計パターンがあるかどうかです。これで、ビデオ データを取得するための共通のインターフェイスを持つ各デバイスのクラスができましたが、構成インターフェイスはデバイス固有です。

4

1 に答える 1

1

この状況のデザインパターンはわかりませんが、実行時にリフレクションを使用して使用可能なプロパティとそのタイプを見つけてから、それに適した UI コントロールを作成するか、必要に応じて使用できます次のようなインターフェイス:

public interface IConfigurableDevice {
    IDictionary<String, Object> DeviceProperties { get; }
}

次に、このインターフェイスを実装するすべてのデバイスを使用して、すべてのプロパティを辞書の (名前、値) ペアとして返すことができます。つまり、デバイス構成のインターフェイスに、デバイスが持つプロパティに関するメタデータを公開させようとします。そして、そのメタデータを活用して UI を構築します。

于 2013-07-08T22:16:37.183 に答える