2011-02-03 94 views
0

當前體系結構基於WCF服務,該服務從DB填充DTO對象並返回它們。記錄DTO對象的不完整對象圖

有些方法返回完整的對象圖,有些只有部分。如果完全填充,某些對象圖將會非常大 - 所以對於所有情況都不是一種選擇。

如何記錄DTO對象中有多少屬性被填充,哪些不是?這是一個.NET商店,XML註釋不能提供足夠的靈活性來記錄並非始終填充的屬性。其他人如何應對這一挑戰?

例如:對於客戶端,發票對象是相同的,無論它是否具有所有屬性。

提出的一個想法是爲僅具有填充屬性的對象生成XSD模式。儘管技術上是正確的,但這看起來並不像「好/可用」的文檔。

編輯:我發現UML可能比XSD更好,因爲它更具可讀性。有沒有從XML - > XSD - > UML(或其他圖表範例)的快速方法?

回答

2

在我們的一個系統中,我們實際使用了兩種模式:一種是內部完成併成熟,另一種用於服務,如我們的系統與外部各方之間的合同。我們創建了自動生成的映射器和填充器。這使我們有可能在不破壞外部系統數據合同的情況下改變我們的對象模型的內部表示和結構。

+0

這似乎是「正確」的方式來做到這一點。我們試圖通過在WCF中重複使用相同的模型來減少代碼重複,從而允許重用類而不是創建代理。否則,即使它們代表相同數據的子集,我們也會有幾十個代理,並且沒有簡單的方法在它們之間進行映射。 – Leon 2011-02-04 17:54:08