柚子快報(bào)激活碼778899分享:設(shè)計(jì)模式-Adapter
柚子快報(bào)激活碼778899分享:設(shè)計(jì)模式-Adapter
定義
適配器設(shè)計(jì)模式是一種結(jié)構(gòu)型設(shè)計(jì)模式,用于將一個類的接口變換成客戶端所期待的另一種接口,從而使原本因接口不匹配而無法在一起工作的兩個類能夠在一起工作。
適配器模式包括三種形式:類適配器模式、對象適配器模式、接口適配器模式(或又稱作缺省適配器模式)。
類適配器模式是通過繼承來實(shí)現(xiàn)適配器功能。當(dāng)我們要訪問的接口A中沒有我們想要的方法,卻在另一個接口B中發(fā)現(xiàn)了合適的方法,我們又不能改變訪問接口A,在這種情況下,我們可以定義一個適配器p來進(jìn)行中轉(zhuǎn),這個適配器p要實(shí)現(xiàn)我們訪問的接口A,這樣我們就能繼續(xù)訪問當(dāng)前接口A中的方法(雖然它目前不是我們的菜),然后再繼承接口B的實(shí)現(xiàn)類BB,這樣我們可以在適配器P中訪問接口B的方法了,這時我們在適配器P中的接口A方法中直接引用BB中的合適方法,這樣就完成了一個簡單的類適配器。
對象適配器模式是通過組合來實(shí)現(xiàn)適配器功能。
如需進(jìn)一步了解適配器設(shè)計(jì)模式,建議閱讀相關(guān)書籍。
實(shí)現(xiàn)舉例
當(dāng)然可以,以下是一個使用C++實(shí)現(xiàn)的適配器設(shè)計(jì)模式的例子:
假設(shè)我們有一個現(xiàn)有的類RealAudioStream,它實(shí)現(xiàn)了音頻流數(shù)據(jù)的讀取和寫入,但是它的接口不符合我們需要的接口AudioStream。因此,我們需要創(chuàng)建一個適配器類AudioStreamAdapter,它將RealAudioStream的接口適配成AudioStream的接口。
// 現(xiàn)有的類RealAudioStrea
柚子快報(bào)激活碼778899分享:設(shè)計(jì)模式-Adapter
參考鏈接
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場。
轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。