適配器模式,裝飾模式,代理模式區(qū)別與對(duì)比

適配器模式

  • 特點(diǎn)在于\color{red}{兼容}

  • 主要是對(duì)現(xiàn)有接口做轉(zhuǎn)換

  • 一般用于解決接口不匹配問(wèn)題

裝飾模式

  • 特點(diǎn)在于\color{red}{增強(qiáng)}

  • 被裝飾的對(duì)象必須是外部傳入的,常見的是構(gòu)造方法傳入

  • 一般用于功能增強(qiáng),可能會(huì)有很多層裝飾,可以隨意排列組合。典型應(yīng)用:java.io包

代理模式

  • 特點(diǎn)在于\color{red}{隔離}

  • 隔離調(diào)用類和被調(diào)用類的關(guān)系,通過(guò)一個(gè)代理類去實(shí)現(xiàn)

  • 一般用于訪問(wèn)控制

適配器模式VS裝飾模式

  • 適配器包裝的是不同類型的對(duì)象,然后將其偽裝成自己的同類;裝飾者包裝的是自己的同類,相同的接口或者父類

適配器模式VS代理模式

  • 適配器是自己新建接口并實(shí)現(xiàn),在實(shí)現(xiàn)中包含被適配的接口;代理模式與源對(duì)象實(shí)現(xiàn)同一接口

  • 適配器模式主要改變所考慮對(duì)象的接口;而代理模式不能改變所代理對(duì)象的接口,只能控制對(duì)其的操作

裝飾模式VS代理模式

  • 裝飾模式從來(lái)不創(chuàng)建被裝飾的對(duì)象,它總是添加新功能到已經(jīng)存在的對(duì)象上面;而代理模式在被代理對(duì)象不存在的時(shí)候會(huì)創(chuàng)建被代理對(duì)象

  • 裝飾模式可以通過(guò)嵌套裝飾添加多重額外功能,而代理模式一般不推薦使用嵌套代理

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容