前言
做事情的時候我們需要動動腦來簡化自己完成任務的負擔,這就需要講究策略了,我們會根據自己所處的環境列出所有的可能條件,再從中挑選合適的方法來完成這件事。就像我們過年回家,我們可以選擇高鐵、普通火車;還可以選擇硬座、
軟座、臥鋪,這都是我們回家的策略;買不到直達的還得轉戰好幾個火車站,策略的最終到達目的地。
定義:它定義了演算法家族,分別封裝起來,讓它們直接可以互相替換,此模式讓演算法的比啊好,不會影響到使用演算法的客戶。策略模式偏重於演算法的實現,按書中的說法,策略模式強調的是使用介面(inte***ce)而不是基類去實現,介面則偏重於行為的抽象而不是物件的抽象。
策略模式是定義一系列演算法的方法,表面上看這些演算法的工作都是相同的,只是實現不同罷了。在呼叫方法的時候可以使用相同的方式,減少了各種演算法類與使用演算法類之間的耦合。能夠封裝幾乎所有型別的規則,在處理不同時間不同業務規則是可以考慮使用。
結構圖策略模式和簡單工廠模式
public cashcontext(string type)
}public double getresult(double money)
}
在簡單工廠中,如果增加了新類,那麼這個工廠也要隨之更改。在策略模式中,雖然cashcontext中不用更改,但它的客戶端的**就要更改了(客戶端**有條件判斷語句,如果增加了其它的,就需要改動了)。 大話設計模式 策略模式
前言 做事情的時候我們需要動動腦來簡化自己完成任務的負擔,這就需要講究策略了,我們會根據自己所處的環境列出所有的可能條件,再從中挑選合適的方法來完成這件事。就像我們過年回家,我們可以選擇高鐵 普通火車 還可以選擇硬座 軟座 臥鋪,這都是我們回家的策略 買不到直達的還得轉戰好幾個火車站,策略的最終到達...
大話設計模式 策略模式
上篇文章 大話設計模式 簡單工廠模式告訴了我們乙個網咖收費工廠物件怎樣建立收費形式 白天收費 夜間收費 的例項。簡單工廠 中有非常多 case分支語句 假設我們還想填加收費的形式 比方會員收費啊,通宵收費啊 就須要修改工廠 每次維護和擴充套件都要花費非常多時間,另外修改非常easy造成紕漏 比方之前...
大話設計模式 策略模式
引用於 大話設計模式 第二章 策略模式 c 實現 策略模式介紹 簡單工廠模式只是解決物件的建立問題,而且由於工廠本身包括了所有的收費方式,商場可能經常性的更改打折額度和返利額度,每次維護或者擴充套件收費方式都要改動這個工廠,以致 需要重新編譯部署,這不是一種好方法。而且為了建立不同的物件產品使用了s...