1.職責鏈模式(chain of responsibility),使多個物件都有機會處理請求,從而避免請求的傳送者和接受者之間的耦合關係。將這個物件連成一條鏈,並沿著這條鏈傳遞該請求,直到有乙個物件處理它為止。
2.職責鏈模式(chain of responsibility)結構圖
3.當客戶提交乙個請求時,請求是沿鏈傳遞直至有乙個concretehandler物件負責處理它。
4.好處:接收者和傳送者都沒有對方的明確資訊,且鏈中的物件自己也不知道鏈的結構,結果是職責鏈可以簡化物件的相互連線,它們僅需保持乙個指向其後繼者的引用,而不需保持它所有的侯選接受者的引用,這也就大大降低了耦合度了。由於是在客戶端來定義鏈的結構,我們可以隨時地增加或修改處理乙個請求的結構,增強了給物件指派職責的靈活性。
5.注意:乙個請求極有可能到了鏈的末端都得不到處理,或者因為沒有正確配置而得不到處理,所以需要事先考慮全面。
《大話設計模式》讀書筆記 第26章 享元模式
1 享元模式 flyweight 運用共享技術有效地支援大量細粒度的物件。2 享元模式 flyweight 結構圖 3 內部狀態與外部狀態 在享元物件內部並且不會隨環境改變而改變的共享部分,可以稱為是享元物件的內部狀態,而隨環境改變而改變的 不可以共享的狀態就是外部狀態了。4 事實上,享元模式可以避...
《大話設計模式》讀書筆記 第22章 橋接模式
1 合成 聚合復用原則 carp 盡量使用合成 聚合,盡量不要使用類繼承。2 合成 聚合復用原則的好處 優先使用物件的合成 聚合將有助於你保持每個類被封裝,並被集中在單個任務上。這樣類和類繼承層次會保持較小規模,並且不太可能增長為不可控制的龐然大物。3 橋接模式 bridge 將抽象部分與它的實現部...
《大話設計模式》讀書筆記 第20章 迭代器模式
1 迭代器模式 iterator 提供一種方法順序訪問乙個聚合物件中各個元素,而又不暴露該物件的內部表示。2 當需要訪問乙個聚集物件,而且不管這些物件是什麼都需要遍歷的時候,就應該考慮用迭代器模式。另外,如果需要對聚集有多種方式遍歷是,也可以考慮用迭代器模式。3 迭代器模式 iterator 結構圖...