第八章 模板方法模式()
定義:在乙個方法中定義乙個演算法骨架,而將一些步驟延遲到子類中。模板方法使得子類在不改變演算法結構的情況下,重新定義演算法的某些步驟。
個人理解:即演算法都封裝到抽象類中,部分細節的實現定義抽象方法或提供預設實現,由子類實現不同的具體操作或覆蓋父類提供的預設方法。
優點:將整個演算法定義到父類中,只需要修改該演算法即可;
缺點:當演算法流程有修改時,需要考慮是否可能產生子類操作。
第九章 迭代器模式(p336)
定義:迭代器模式提供一種方法順序訪問乙個聚合物件中的各個元素,而又不暴露其內部的表示。
個人理解:迭代器可替代一批物件(集合)的操作(增刪改查),當操作變更時,運維人員無需關注具體在哪需要更改,直接修改迭代器即可。
優點:將集合的操作封裝到一起,無需關注如何實現的,直接可用;
缺點:產生乙個新集合可能需要新建立乙個迭代器。
**簡析:
iterator(乙個抽象迭代器介面)
breaditerator(乙個迭代器介面實現,實現麵包的迭代)
jinfengchengxiangbreaditerator(另乙個迭代器介面實現,專門實現金鳳呈祥麵包的特殊迭代)
jinfengchengxiangbread(金鳳呈祥)(具體例項)
weiduomeibread(味多美)
設計模式個人理解總結
單例 通過將建構函式私有化,並且建立好唯一乙個例項後,將該例項提供其他類。多例 建構函式私有化,但可以返回指定個數的例項,通過一定標識區分返回哪個。觀察者 將觀察者作為 載入到主題的資料成員監聽集合中,當主題發生改變時,依次觸發所有的 工廠模式 通過區分識別符號,返回特定的新建物件。物件實現的公共介...
個人理解PHP設計模式
1,外觀模式原理 a類 b類 c類 然後在d類裡面呼叫a類b類c類,然後在e類裡面呼叫d類,這就是外觀模式。在e類裡面就只需要簡單呼叫d類,而不需要關心abc類的實現方法,說白了就是簡化呼叫。2.中介者模式 中介者就是把一些邏輯處理放在中介者中處理,就類似於房屋中介,賣房子的找中介賣房子,買房子的找...
個人理解之設計模式 1
這一段時間面試,總會被問到對設計模式的理解。雖然算是個新手,但是實際上上乙份工作當中還是用到了很多設計模式,再加上spring本身的設計模式,每次面試基本在這塊要花費相當多的時間準備和覆盤。今天開始重新再看一遍神書head first,再來總結一下對於其中設計模式的理解。書中說到策略模式定義了並且封...