我目前完成了一個需要使用C++將數據庫信息寫入XML的項目的兩個階段之一。雖然使用第三方工具來進行XML標籤和數據的實際格式化,但我仍然需要設計一個模型以及業務邏輯來獲取數據庫表並將它們映射到XML結構中。有沒有更好的設計模式/方法使用?
爲此,我最終爲每個XML結構創建了一個單獨的類,導致了大量的類(〜75)。每個類都具有如何讀取關聯表的知識,並通過第三方工具將自身序列化爲XML。最後,系統運行良好(按時和預算),輸出錯誤非常容易找到。
第二階段幾乎完全相同,但不是格式化文本,而是二進制數據。因此,雖然我仍在考慮使用第一階段中使用的相同策略,但我想問,是否會有更好的方法或設計模式來解決這個問題?尤其是,由於第一階段的某些XML類別中存在大量的依賴關係,因此單元測試非常困難。
有趣的問題......你爲什麼選擇使用C++和那個工具? - 只是好奇。 – 2010-01-15 15:58:31
我正在使用C++,因爲原始系統在SPARC系統上以C++編碼,需要將其集成到工具集中。我應該注意到,階段二的類和數據結構與階段一不同。所以我不能重複使用它們中的任何一個。因此,爲什麼我正在尋找一種方法/模式來減少與第一階段相比我必須編寫的新代碼的數量。 – Matthew 2010-01-15 16:32:32
您好馬修,它現在「聞起來」更多,現在是一個很好的應用程序的發電機或至少一個框架,簡化了大量的類的實施...也從您的描述,我仍然不確定,如果你得到你的內部代表權。我認爲這應該完全獨立於XML - 只有某些作者應該完成XML /二進制部分。正如大衛所寫,訪問者會很棒 - 但它也可能是基類,特殊界面等的一部分。 – Juergen 2010-01-15 16:58:48