原型&中介者模式
阿新 • • 發佈:2017-10-21
隨筆 副本 通過 ges image 深入 中介 head 模式
寫設計模式這一系列隨筆是為了自己日後參考、復習所用,具有很大的針對性。作者學習設計模式涉及的書籍有Design Patterns、Head First Design Patterns、研磨設計模式,大家如果想深入、或者不懂之處可以從這三本書上下手。
原型模式
定義
原型模式是說通過復制對象來創建新的實例。
類圖
關於克隆
淺克隆:只克隆基本數據類型;
深克隆:除了基本類型,還需克隆引用類型。
作用
運行時動態改變實現類型;
可以不修改原型對象來克隆原型副本;
簡化了新實例編碼的復雜性;
擴展了新實例的未知類型。
中介者模式
定義
用一個中介者對象封裝一系列對象之間的交互。
類圖
關於具體使用
具體開發中通常會簡化中介者結構:
去掉Colleague接口:除了約束Colleague子類類型,繼承它一般沒有什麽實際意義;
通常不定義Mediator接口,而是把ConcreteMediator實現成單例:定義接口是為了擴展更多的具體中介者類型,但實際開發中中介者只有一個;
ConcreteMediator與ConcreteColleague不再相互引用,通過在具體調用中傳遞或創建實例來弱化這種強引用。
作用
封裝隔離了具體的交互類;
解耦了交互類之間的關系;
中介者集中控制交互利於管理。
原型&中介者模式