23种设计模式之适配器模式
適配器模式的定義
定義: 將一個(gè)類的接口變換成客戶端所期待的另一種接口, 從而使原本因接口不匹配而無(wú)法在一起工作的兩個(gè)類能夠在一起工作.
通俗的說(shuō), 就是有 A、B兩個(gè)接口,
?
現(xiàn)在要求把A和B安裝在一起使用, 兩者的接口不一致, 怎么辦? 引入一個(gè)物體C, 如下圖:
?
引入C物體后, C適應(yīng)了A的接口, 同時(shí)也適應(yīng)了B的接口, 三者就可以進(jìn)行組合了
?
其中的C物體就叫做適配器
適配器模式的類圖如下:
?
其中各個(gè)角色:
大致代碼如下:
?
適配器模式的應(yīng)用
適配器模式的優(yōu)點(diǎn):
適配器模式的使用場(chǎng)景:
適配器的使用場(chǎng)景只要記住一點(diǎn)就夠了: 你有動(dòng)機(jī)修改一個(gè)已經(jīng)投產(chǎn)中的接口時(shí), 適配器模式可能是最適合你的模式. 比如系統(tǒng)擴(kuò)展了, 需要使用一個(gè)已有或新建立的類, 但這個(gè)類有不符合系統(tǒng)的接口等
適配器模式最好在詳細(xì)設(shè)計(jì)階段不要考慮它, 它不是為了解決還在開(kāi)發(fā)階段的問(wèn)題, 而是解決正在服役的項(xiàng)目問(wèn)題, 沒(méi)有一個(gè)系統(tǒng)分析師會(huì)在詳細(xì)設(shè)計(jì)的時(shí)候考慮使用適配器模式, 這個(gè)模式的主要場(chǎng)景是擴(kuò)展應(yīng)用中.
有時(shí)源角色并不單單是一個(gè)類, 可能是多個(gè)類, 這時(shí)使用繼承明顯不行, 因?yàn)閖ava并不支持多繼承, 這時(shí)可以使用類關(guān)聯(lián)等方法, 只要適配器模式的思想不變, 如何實(shí)現(xiàn)有多種方法
適配器模式又叫做變壓器模式, 也叫做包裝模式(裝飾模式也叫做包裝模式)
適配器模式是一個(gè)補(bǔ)償模式, 或者說(shuō)是一個(gè)"補(bǔ)救"模式, 通常用來(lái)解決接口不相容的問(wèn)題, 在百分之百的完美設(shè)計(jì)中是用不到的.
總結(jié)
以上是生活随笔為你收集整理的23种设计模式之适配器模式的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 如何将数字转换成口语中的文本串
- 下一篇: 23种设计模式之迭代器模式