總結
了解到了簡單工廠模式的侷限性,那麼我們就要學習新的設計模式了,也就是我接下來要講到的
「策略模式」
首先,我們來建立上述的幾個類,uml圖如下:
//超類,需要被具體演算法類繼承來重寫
abstract class cashsuper
}//正常收費子類
class cashnormal : cashsuper
//打折收費子類
class cashrebate : cashsuper
public
override
double
acceptcash(double money)
}class cashreturn : cashsuper
//其實這裡無論計算的方法是什麼樣子的都無所謂,我們只需要理解這樣乙個思路
public
override couble acceptcash(double money)
}
//在這類加入簡單工廠模式,方便引用
class cashcontext
}public
double
getresult(double money)
}
//初始化引數
double total=0.0d;
private
void
main()
to be continue…… C 單例模式實現再回顧
單例模式需要注意的問題 1 static例項保證只有乙個例項 2 需要c 類外初始化例項 執行緒鎖等 3 私化建構函式,關閉賦值運算子 和拷貝建構函式 4 應當有releas函式 5 應該考慮執行緒安全問題 下面是懶漢模式的實現 include include class singleton inc...
設計模式 策略設計模式
策略設計模式其實就是多型的使用,父類引用指向子類物件。策略模式的最大特點是使得演算法可以在不影響客戶端的情況下發生變化,從而改變不同的功能。策略模式的缺點其實也很明顯,在於策略模式把每一種具體的策略都封裝成乙個實現類,如果策略有很多的話,很顯然是實現類就會導致過多,顯得臃腫。案列 author de...
設計模式 策略模式
策略模式是一種定義一系列演算法的方法,從概念上來看,所有這些方法完成的都是相同的工作,只是實現不同,他們可以用相同的方式呼叫所有的演算法,減少了演算法類和使用演算法類之間的耦合.優點 策略模式的strategy類層次為context定義了一系列可供重用的演算法和行為,繼承有助於吸取這些演算法中的公共...