一個可以立即想到的做法就是在系統中保留所有業務規則模型,即保留中國和美國企業工資運算規則。

通過保留中國企業和美國企業的業務規則模型,如果該系統在美國企業和中國企業之間切換時,我們僅僅需要修改Caculator類即可。
讓移植工作更簡單
前面系統的整合問題在于:當系統在客戶在美國和中國企業間切換時仍然需要修改Caculator代碼。
一個維護性良好的系統應該遵循“開閉原則”。即:封閉對原來代碼的修改,開放對原來代碼的擴展(如類的繼承,接口的實現)
我們發現不論是中國企業還是美國企業,他們的業務運規則都采用同樣的計算接口。 于是很自然地想到建立兩個業務接口類Tax,Bonus,然后讓AmericanTax、AmericanBonus和ChineseTax、ChineseBonus分別實現這兩個接口, 據此修正后的模型如下:

延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/