1. 程式人生 > >原型&中介者模式

原型&中介者模式

隨筆 副本 通過 ges image 深入 中介 head 模式

寫設計模式這一系列隨筆是為了自己日後參考、復習所用,具有很大的針對性。作者學習設計模式涉及的書籍有Design Patterns、Head First Design Patterns、研磨設計模式,大家如果想深入、或者不懂之處可以從這三本書上下手。

原型模式

定義


原型模式是說通過復制對象來創建新的實例。

類圖


技術分享

關於克隆


淺克隆:只克隆基本數據類型;

深克隆:除了基本類型,還需克隆引用類型。

作用


運行時動態改變實現類型;

可以不修改原型對象來克隆原型副本;

簡化了新實例編碼的復雜性;

擴展了新實例的未知類型。

中介者模式

定義


用一個中介者對象封裝一系列對象之間的交互。

類圖


技術分享

關於具體使用


具體開發中通常會簡化中介者結構:

去掉Colleague接口:除了約束Colleague子類類型,繼承它一般沒有什麽實際意義;

通常不定義Mediator接口,而是把ConcreteMediator實現成單例:定義接口是為了擴展更多的具體中介者類型,但實際開發中中介者只有一個;

ConcreteMediator與ConcreteColleague不再相互引用,通過在具體調用中傳遞或創建實例來弱化這種強引用。

作用


封裝隔離了具體的交互類;

解耦了交互類之間的關系;

中介者集中控制交互利於管理。

原型&中介者模式