我正試圖找到一種設計模式或最佳實踐,或針對在應用程序中保留業務邏輯版本的問題的其他解決方案。具體而言,我期望找到一種方法來確定哪種邏輯被用來發布保單。用於反向訪問邏輯更改的模式?
我現在有代碼看起來像這樣:
public double FixedDeductibleSurchageAmount()
{
double percent = FixedDeductibleSurchargePercent();
double base_premium = CollisionPremium() + TheftPremium();
return (base_premium * percent);
}
我需要做出改變的業務邏輯,這樣這個功能看起來更像是:
public double FixedDeductibleSurchageAmount()
{
double percent = FixedDeductibleSurchargePercent();
double base_premium = CollisionPremium() + TheftPremium() + MedicalPremium();
return (base_premium * percent);
}
當我碰上麻煩的是現有的政策應該按照以前的邏輯進行評估。有這樣的設計模式嗎?如果不是,有沒有什麼好的方法來實現它?
實際上,'MedicalPremium()'存在於所有用戶中,我只是簡單地將它加入到這個特定的附加費中,所以對於較老的用戶它不能返回0。他們被稱爲方法,因爲我正處於重新設計的白板階段,所以我只是把它們扔在那裏作爲例子。 –
因此,爲新用戶創建一個返回MedicalPremium的功能MedicalPremiumNew,並且爲舊用戶返回0,並且我所說的其餘部分仍然適用;或者只是使FixedDeductibleSurchageAmount虛擬。 –