以下の方法に使用できる最も適切なパターンは何ですか。私は switch ステートメントの戦略パターンに傾いていますが、if はどうですか。また、異なるタイプの割引がある場合は、戦略パターンも使用する必要がありますか?
public void AddOrder(PaymentType paymentType, OrderType orderType)
{
if (orderType == OrderType.Sale)
{
switch (paymentType)
{
case PaymentType.Cash:
// Do cash calculations here
break;
case PaymentType.CreditCard:
// Do credit card calculations here
break;
}
}
else if (orderType == OrderType.Refund)
{
switch (paymentType)
{
case PaymentType.Cash:
// Do cash calculations here
break;
case PaymentType.CreditCard:
// Do credit card calculations here
break;
}
}
}
ありがとう