3
我正在構建一個將數據公開爲XML的REST API。我在我的領域層中有一大堆領域類,這些領域類旨在供API後面的服務層和我們將提供給客戶的客戶端API使用。 (客戶可以選擇直接與REST API交互,但客戶端API簡化了這些事情)。我想讓我的域類清除任何數據持久性邏輯,但是我試圖弄清楚域類是否可以實現IXmlSerializable來幫助簡化序列化通過並從中檢索的數據的過程API。我開始認爲我會保持域類沒有任何序列化邏輯,而是用序列化行爲來修飾它們,例如,將域對象包裝在處理序列化的對象中。我是否讓事情比他們需要的更復雜?有關我應該如何處理這個問題的想法?謝謝!域對象是否應該實現IXmlSerializable?
你的序列化圖層會是什麼樣子?你會有方法接受DTO並以XML格式輸出嗎?或者你會採取一個流並序列化到它? – csano 2009-12-04 04:29:09
這取決於我需要什麼。我傾向於遵循.NET中許多基於XML的API的模式,並接受一個「XmlWriter」作爲目標。如果我發現調用代碼從流中重複創建'XmlWriter',我會添加一個需要流的重載。如果我使用'XPathNavigator.AppendChild'創建'XmlWriter'找到調用代碼,那麼我會寫一個接受'IXmlNavigable'的重載,等等。 – 2009-12-04 04:35:02
謝謝,John,我很感激。 – csano 2009-12-04 04:49:19