我正在構建一個GUI應用程序,它將成爲XML配置文件的前端。實現對象實例模型到PropertyGrid
XML結構定義了一組對象實例。也就是類型名稱和應該在消費應用程序中實例化的屬性值(windows服務)。
因此,有三層:
ConfigurationObject <--> ComponentObjects <--> PropertyGrid
的ConfigurationObject
序列化到了窗口服務的正確的XML格式。 ComponentObjects
是由Windows服務使用的相同類型。
我遇到的問題是確定保持所有三層同步的最佳方法。
我的第一個實現我將更新單個屬性時,他們被改變。但是這種方法沒有工作得很好,當我需要複雜的對象更新到UI(雖然我相信我知道問題是什麼,現在)
我目前的做法包括利用類型轉換器的ConfigurationObject
和效果很好的ComponentObjects
之間的轉換直到意識到我目前的邏輯是忽略了BrowseableAttribute
所以,(因爲我轉換爲ConfigurationObject
時簡單地遍歷所有的ComponentObject
屬性)我花了時間在我目前的做法之前,我想確保我在正確的軌道。有一個更簡單的方法嗎?在這種情況下,我可以使用一些模型/設計模式嗎?
感謝, 卡爾