私は、アプリケーション内でビジネスロジックのバージョンを保持し続けるという問題のために、デザインパターンやベストプラクティス、またはその他の解決策を見つけようとしています。具体的には、どの論理が保険証書を発行するために使用されたのかを判断する方法を探しています。逆アクセス可能なロジック変更のパターン?
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を返すことはできません。そして、私は再設計のホワイトボードの段階にあるので、メソッドとして参照されています。そこで、例のためにそこにダンプしました。 –
したがって、MedicalPremiumNewは、新規ユーザーに対してのみMedicalPremiumを返し、古いユーザーには0を返します。残りの部分はまだ適用されます。代わりにFixedDeductibleSurchageAmountを仮想にするだけです。 –