行為型模式匿又,一個(gè)類的行為或其算法可以在運(yùn)行時(shí)更改
策略模式是指定義一系列的算法,把它們一個(gè)個(gè)封裝起來碌更,并且使它們可相互替換痛单。這些算法所完成的功能一樣,對(duì)外的接口一樣鸟妙,只是各自實(shí)現(xiàn)上存在差異挥吵。
意圖:定義一系列的算法,把它們一個(gè)個(gè)封裝起來, 并且使它們可相互替換。
主要解決:在有多種算法相似的情況下房午,使用 if...else 所帶來的復(fù)雜和難以維護(hù)门粪。
策略模式
關(guān)鍵在于如何指定替換算法:
Cache類必須指定選用哪個(gè)特定算法陪毡,可以通過構(gòu)造函數(shù)傳遞參數(shù)或使用模板參數(shù)