想象你外出旅游诺苹,需要充電的時(shí)候,發(fā)現(xiàn)自己帶的充電線是220V標(biāo)準(zhǔn)電壓婶博,可是你在美國(guó)瓮具!你要用110V電壓充電那只會(huì)充不上,這個(gè)時(shí)候又不可能換充電線凡人,因?yàn)槭謾C(jī)就是需要220的電壓搭综,那么適配器就應(yīng)運(yùn)而生,將110V的電壓轉(zhuǎn)換為220V划栓。
所以兑巾,我們可以在一個(gè)類中寫(xiě)入判斷,當(dāng)遇見(jiàn)不是該類所能處理的情況時(shí)忠荞,就新建一個(gè)適配器蒋歌,用這個(gè)適配器去處理我的輸入,這就是適配器模式委煤。
優(yōu)點(diǎn):?1堂油、可以讓任何兩個(gè)沒(méi)有關(guān)聯(lián)的類一起運(yùn)行。 2碧绞、提高了類的復(fù)用府框。 3、增加了類的透明度讥邻。 4迫靖、靈活性好。
缺點(diǎn):?1兴使、過(guò)多地使用適配器系宜,會(huì)讓系統(tǒng)非常零亂,不易整體進(jìn)行把握发魄。比如盹牧,明明看到調(diào)用的是 A 接口,其實(shí)內(nèi)部被適配成了 B 接口的實(shí)現(xiàn)励幼,一個(gè)系統(tǒng)如果太多出現(xiàn)這種情況汰寓,無(wú)異于一場(chǎng)災(zāi)難。因此如果不是很有必要苹粟,可以不使用適配器有滑,而是直接對(duì)系統(tǒng)進(jìn)行重構(gòu)。 2.由于 JAVA 至多繼承一個(gè)類六水,所以至多只能適配一個(gè)適配者類俺孙,而且目標(biāo)類必須是抽象類。