0

我有以下问题:我有一个显示来自多个设备的(视频)输入的软件。这些设备具有不同的接口和不同的可配置属性(如分辨率、fps、输出格式等)。我想以一种每种设备都公开其属性的方式来实现它,我创建了一个动态变化的 GUI(基于可能的属性创建)并使用这个 GUI 来配置设备运行时。问题是,是否有任何标准的设计模式来实现它?现在我为每个设备都有一个类,它有一些通用接口来检索视频数据,但配置接口是特定于设备的。

4

1 回答 1

1

我不知道这种情况下的任何设计模式,但我在运行时使用反射来处理它以找出可用的属性及其类型,然后创建一个适合这种情况的 UI 控件,或者如果你喜欢你可以使用一个看起来像这样的界面:

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

然后你可以让你的所有设备实现这个接口,以便它们在字典中以 (name, value) 对的形式返回它们的所有属性,换句话说,我尝试让我的设备配置接口公开有关设备具有的属性的元数据然后利用该元数据来构建 UI。

于 2013-07-08T22:16:37.183 回答