定義:定義演算法家族,分別封裝,讓他們之間可以互相替換,此模式讓演算法的變化,不會影響到使用演算法的用戶端
在這個例子中,有三個具體策略,正常收費CashNormal、滿額送CashReturn、打折收費CashRebate,繼承同一個抽象類別CashSuper與實作AcceptCash方法,
並封裝至CashContext類別中,Factory建立CashSuper實體的程式進一步放至CashContext,用戶端在使用時,只需對CashContext類別操作,不需要知道內部的實作
,降低用戶端程式對其他類別耦合。
