我正在构建一个 GUI 应用程序,它将作为 XML 配置文件的前端。
XML 结构定义了一组对象实例。也就是说,应该在消费应用程序(Windows 服务)中实例化的类型名称和属性值。
所以分为三层:
ConfigurationObject <--> ComponentObjects <--> PropertyGrid
序列化为 Windows 服务的ConfigurationObject
正确 XML 格式。它们与 Windows 服务使用的ComponentObjects
类型相同。
我遇到的问题是确定保持所有三层同步的最佳方法。
我的第一个实现是在更改单个属性时更新它们。但是,当我需要将复杂对象更新到 UI 时,这种方法效果不佳(尽管我相信我知道现在的问题是什么)
我目前的方法涉及使用 TypeConverters 在ConfigurationObject
and之间进行转换,ComponentObjects
直到意识到我当前的逻辑忽略了(因为我只是在转换BrowseableAttribute
为时迭代所有属性)ComponentObject
ConfigurationObject
因此,在我花更多时间在我目前的方法上之前,我想确保我走在正确的轨道上。有没有更简单的方法?在这种情况下我可以使用一些模型/设计模式吗?
谢谢,卡尔