2014-02-19 25 views
0

我有一個類想象實體,實體類想提供反序列化方法這個方法接受一個XML字符串,它會重建對象。 哪一個看起來更好?具有一個接受xmlString參數和deSerilaize實體的構造函數。具有不帶參數的構造函數,然後使用xmlString調用反序列化方法。 3-在Entity中有一個靜態方法接受xmString作爲參數,並返回一個反序列化的實體作爲函數調用。 或任何其他解決方案?什麼是序列化對象的好模式?

回答

3

也沒有。一個對象根本不應該關心序列化/反序列化。這些操作應該由專門處理序列化邏輯的對象處理。

這不僅使Entity類變得更簡單,而且它還打開了您的架構,使其變得靈活並且將來處理不同的序列化方法。請記住,應用程序中的解耦行爲是很好的。

+0

你的意思是每個對象都應該有另一個對象來進行序列化/反序列化呢? – Mojtaba

+0

@Mojtaba_Sarooghi - 序號是完全分開的。你的'Entity'類不應該知道它的任何內容。兩者之間應該沒有耦合。 –

+0

然後我必須弄清楚我應該如何序列化序列化器中的每個對象(想象我不想使用屬性)我的對象如何對序列化器說出它想要序列化的屬性?自定義循環引用如何? 如果我說得對(我不這麼認爲:-))你的意思是另一個對象知道de /序列化實體的整個對象圖嗎?然後我們再次耦合(串行器應該知道實體的細節及其邏輯) – Mojtaba

相關問題