《大話設計模式》學習筆記 part1

2021-08-03 07:46:37 字數 890 閱讀 2453

物件導向的好處:

可維護、可復用、可擴充套件、靈活性好;

讓業務邏輯和介面邏輯分開,降低耦合度;

在計算器的案例中,建立乙個單獨的運算符號類,用來例項化運算符號物件,並把此物件返回給呼叫者;

各種運算方法也分別用不同的類來封裝。

在主方法中,選擇需要所例項化的運算符號類的型別(用switch判斷),來例項化相應的運算方法;

定義了演算法家族,分別封裝起來,讓他們之間可以相互替換,此模式讓演算法的變化不會影響到演算法的客戶;

l  strategy類,定義所有支援的演算法的公共介面;

l  concretestrategy類,繼承於strategy,封裝具體的演算法或行為;這裡面可以定義多種不同的方法;

l  context類,用乙個concretestrategy來維護、配置乙個strategy物件的引用;

class context{

strategy  strategy;

public  context(strategy  strategy){

this.strategy = strategy;

public  void contextinte***ce(){

strategy.algoritheminte***ce();

l  客戶端**:

main(){

context  context;

context= new  context( new  concretestrategy());

context.contextinte***ce();

策略模式解析:

定義,並封裝了一系列的演算法,可以用相同的方式呼叫所有的演算法,減少了各種演算法類與使用演算法類之間的耦合;

簡化了單元測試,因為每個演算法都有自己的類,可以定義自己的單獨測試介面;

《從設計到模式》學習筆記part1

教程前5節免費預覽,可以試看一下 一 設計原則 不管什麼新的技術,新的技能,他的產生比較導致一些標誌,以及一些標誌的產生,如果沒有這些標準來衡量的話,那我們也沒辦法知道他新在 怎麼去判斷,所以作為設計模式,那麼必然也會有他的設計原則和標準在裡面,如果這些標準和原則,那我們沒辦法去設計了。1.s 單一...

C 程式設計筆記 part 1

c 物件導向程式設計 第三版 杜茂康等編 c how to program,ninth edition p.deitel h.deitel 測試1 由於char只讀取乙個資料,那麼考慮如下 int main 結果為輸出 3 4以及 3 45再考慮連續輸入 cin a b 與一般的輸入方式沒有區別。注...

Python學習筆記 part1 資料型別

單引號 hello hello word print hello 雙引號 hello hello word print hello 三引號可換行 hello hello word print hello 字串既有單引號又有雙引號時可以用三引號 hello it s good print hello ...