1
什麼是最適合的模式,可用於下面的方法。我傾向於開關語句的戰略模式,但是如果是這樣的話。另外,如果我將使用不同類型的折扣,我應該如何使用戰略模式?購物車中的付款策略
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;
}
}
}
感謝
Stratergy模式在這種情況下是最好的模式,但你也可以使用裝飾模式也可以用適當的稅來裝飾產品 –
謝謝Ajay。這裏的戰略模式將如何實施?我的意思是,我是否有策略模式來確定OrderType,然後在其中爲PaymentType提供另一個策略模式? – gnaungayan