設計模式推演——整合已有系統接口(Facade/Adapter)

上一篇文章中,我們提到OO中複用的方式有兩種,組合和繼承。一般情況下,應該儘可能使用組合的方式。現在以複用爲基本需求,推演若干常見組合型模式


1. Facade模式 

當整合已有系統接口時,或者跨層調用接口時,如果出現

a. 覺得接口過多。那麼可以根據特定的應用情景,提煉出一個最小覆蓋子集,或者只是最常用的接口集。

b. 覺得接口難用。那麼可以通過封裝,對原來做一些變形。

這就是Facade模式的出發點,其遵循的是易用性原則。


這裏特別說明一點,Facade模式並沒有禁止用戶直接原始系統接口,只要CustomerC願意,它還是可以直接訪問B的。


2. Adapter模式

同上,當面對已有的系統接口,發現與要求的接口不匹配,可以考慮對原來做一些改裝。簡單說來就是將”東施“整形成”西施“。

根據複用方式,有組合和繼承兩種方式,即所謂的對象Adapter和類Adapter。常見的是組合方式。






最後解釋一下,不論Adapter模式還是Facade模式,它們的應用背景都是接口已經存在, 目前只是考慮如何複用這些接口。簡單說來,這兩個模式通常系統設計完成之後纔會被使用。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章