2010-11-16 77 views
1

我有四個類似的類結構,從XSD生成,每個是不同的API版本。類似的邏輯,但不同的類(避免重複)

事情是,我有類操作所有這些不同的類結構,但很多代碼在所有結構中都是相同的。我不能爲每個類設置接口,因爲所有類都是從XSD生成的。然而,我想刪除我的代碼庫中的重複...

什麼是一個很好的OO解決方案?

謝謝。

回答

0

我會使用一個小對象組合。定義一個包含共享功能的類,並將實例作爲每個生成的類的成員。儘量減少您在課堂上保留的可變狀態量,以便您可以更輕鬆地進行測試。

+0

問題在於這些類是從第三方XSD生成的,因此,提取外部成員的內容意味着更改第三方XSD,這並不好。 – Gaisorama 2010-11-20 11:53:09

0

我可能會去使用一個門面類。這門課是你需要了解其他四門課的一點。它處理中繼呼叫到正確的類。通過這種方式,您不僅可以減少重複代碼,還可以從代碼庫的其餘部分中提取API,從而更輕鬆地處理API中的更改。

HTH。

+0

這聽起來像一個很好的計劃......然而,有沒有什麼模式或建議如何做到這一點?我的意思是,在我提取行爲的意義上說,門面類只是醜陋的,但是價值設置/檢索必須「一個接一個」完成。我不得不說它可能是通用的,以告訴我目前正在使用哪個類(ThirdPartyClassV1等)...任何示例都將被讚賞,因爲我仍然不知道如何以優雅的方式實現此目標。 – Gaisorama 2010-11-20 11:56:40

相關問題