次のシナリオでは、販売価格を計算するためのさまざまな種類の販売アルゴリズムがあります。FixedSaleStrategyはbasePriceパラメーターを必要としませんが、他のすべての戦略実装はそれを必要とします。この冗長なパラメータを回避する良い方法はありますか?
public abstract class SalesStrategy
{
public abstract double GetPrice(double basePrice, double saleAmount);
}
public class AmountOffSale : SalesStrategy
{
public override double GetPrice(double basePrice, double salesAmount)
{
return basePrice - salesAmount;
}
}
public class FixedPriceSale : SalesStrategy
{
public override double GetPrice(double basePrice, double salesAmount)
{
return salesAmount;
}
}