? ? 適配器 又叫 包裝器(wrapper),適配器模式的作用是解決兩個(gè)軟件實(shí)體間的接口?不兼容?的問(wèn)題。使用適配器模式之后,原本由于接口不兼容而不能工作的兩個(gè)軟件實(shí)體可以一起工作;
? ? 生活中比較形象的例子就是 我們常用的 電源適配器,比如電腦的?電源適配器, 將我們 220v 的交流電源 轉(zhuǎn)換為 電腦電池支持的電壓;
????作用: 舊接口格式 和 使用者 不兼容; 中間加一個(gè) 適配器 轉(zhuǎn)換接口;
????適用場(chǎng)景: 1 封裝舊接口 ; 2 vue computed


? ? ? ? 示例:封裝舊接口?

? ? 另一個(gè)示例
? ??????對(duì)于接入不同的 庫(kù),都有一個(gè) show 方法 提供給我們使用;

? ??????我們有一個(gè)同一個(gè)的調(diào)用方法;

? ??????????但是當(dāng)?shù)谌齻€(gè)庫(kù)沒(méi)有提供 show 方法, 而是 display;

? ? ? ? ? ? ?使用 適配器模式:

? ? 適配器?另一個(gè)常用的場(chǎng)景: 對(duì)數(shù)據(jù)的處理
? ? ? ? 當(dāng)我們從第三方接口獲取數(shù)據(jù) 進(jìn)行渲染的時(shí)候????

? ? ? ? 如果此時(shí)我們切換了另外一個(gè)數(shù)據(jù)源,此時(shí)的數(shù)據(jù)結(jié)構(gòu)和原來(lái)的 完全不一樣,那么我們是不是需要全部重新處理頁(yè)面的邏輯,此時(shí)適配器模式就起到了作用,我們只需要講這個(gè)數(shù)據(jù)源 適配 成原來(lái)的數(shù)據(jù)格式,而不用去更改 我們?cè)瓉?lái)的頁(yè)面處理邏輯;

????適配器模式主要用來(lái)解決?兩個(gè)已有接口之間不匹配的問(wèn)題,它不考慮這些接口是怎樣實(shí)現(xiàn)的,也不考慮它們將來(lái)可能會(huì)如何演化。適配器模式?不需要改變已有的接口,就能夠使它們協(xié)同作用;
????裝飾器模式 和 代理模式 也不會(huì)改變?cè)袑?duì)象的接口,但?裝飾器模式?的作用是為了?給對(duì)象增加功能( 適配器不算是增加新功能)。裝飾器模式常常形成一條長(zhǎng)的裝飾鏈,而適配器模式通常只包裝一次。代理模式是為了 控制對(duì)對(duì)象的訪問(wèn),通常也只包裝一次;
? ??適配器模式?是 原來(lái)的 接口已經(jīng)不能使用,需要一個(gè)適配器來(lái)做處理; 而 裝飾器 是 原來(lái)的接口還能使用,只不過(guò)是添加一些新功能罷了;
????外觀模式的作用倒是和適配器比較相似,有人把外觀模式看成一組對(duì)象的適配器,但外觀模式最顯著的特點(diǎn)是?定義了一個(gè)新的接口;
? ??設(shè)計(jì)原則驗(yàn)證: 將 舊接口 和 使用者 進(jìn)行分離 ; 符合 開放封閉?原則。