我一直認爲你的域模型不應該負責將自己序列化爲XML。過去我使用過IXmlSerializable接口來控制我的對象是如何序列化的,但理想情況下,我更喜歡序列化的基本功能,以便在對象之外生存。非侵入式XML序列化技術?
然而,我從來沒有能夠以一種乾淨的方式實際實現這一點,我想知道是否有任何模式,我忽略了做到這一點。基本上,我希望我的對象模型能夠做到這一點,並且對XML序列化(或其他任何序列化)沒有任何意義,然後將其交給一些服務,這些服務將對象和序列化爲對象。
我試過用擴展方法來做這件事,但是當你想要序列化一個類型對象的集合時,這會縮短。我已經研究過使用對象包裝器和DTO進行序列化,但是這樣做會導致維護另一組對象,並且當你想要序列化時必須創建這些對象,當你有類型的對象。
唯一的另一件事是使用反射,但我擔心處理開銷。
有沒有一種理智的方式來做我在問什麼,或者我應該咬一口子,讓我的對象xml意識到?
如果你需要性能,XML不是你的格式。 – Gusdor