实现设备配置的标准方法

时间:2013-07-08 14:22:21

标签: design-patterns configuration

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

1 个答案:

答案 0 :(得分:1)

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

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

然后您可以让所有设备实现此接口,以便它们将所有属性作为(名称,值)对返回到字典中,换句话说,我尝试让设备配置的接口公开有关属性的元数据该设备具有并利用该元数据来构建UI。