在我工作的項目中,我們處理醫療帳單。支持向後兼容的類版本化
每次國家對官方表格(我們的數據類表示)進行更改時,爲了保持與以前表格的向後兼容性,我們添加了新的屬性,但保留了舊的屬性,並且保留了舊的屬性,並且擁有文檔版本屬性,用於確定完成了哪些驗證以及用於顯示它的UI操作。
這導致項目生命週期中的類型臃腫(近5年的國家授權更改),並且根本不支持舊文檔格式不是一種選擇。
我想嘗試爲每個文檔版本創建一個新類,但即使如此,我們仍然會有幾個非常相似(儘管稍有改動)的代碼副本。而諸如ProgressNoteV16,ProgressNoteV17等類名稱看起來很可怕。
繼承無法使用,因爲這仍然會導致相同的問題(具有不再需要的屬性的類)。接口會使接口臃腫,這不會解決問題。
用於解決此問題的解決方案和最佳實踐是什麼?
謝謝你,我們有因道路潛力大修重新思考我們的設計能力,聯邦政府正在做的事情。這個大綱將大大有助於探索可能性。 – 2009-12-29 21:21:10
NP。祝你好運。如果您有能力接觸到一些其他機構如美國國土安全部(人類服務)或DIS(移民局)他們有大規模這個問題,或許能爲您提供一些好的信息。 – GrayWizardx 2009-12-29 21:51:06
我碰到這來是因爲我開始看到「日期」出現在我們的類名,即ClassA的,ClassA20100901,ClassA20101201。有人向我解釋爲:ClassA的有效期/使用,直到9月1日,然後Class20100901將被使用,然後在12月1日最後一堂課變得活躍。這是一種巨大的氣味,有些事情是錯誤的。我會消化這個並且向團隊提出這個建議。我會提供一個答案,如果我們找到任何提示。謝謝! – 2010-08-05 19:21:47