第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

Java設(shè)計(jì)模式(10)--------裝飾器,橋接和適配器模式的異同

標(biāo)簽:
Java
介绍

前面几篇文章分别介绍了装饰器模式,桥接模式和适配器模式这三种设计模式。这三种设计模式,从设计思想角度上看是非常相似的。三者都是结构型的设计模式,而且都存在依赖抽象的情况。但是三者之间却又存在一些微妙的区别,这也是本文重点关注的内容。

适配器模式

该模式重点强调的是适配的功能。

该模式的关键点是:

  • 主体类和适配器类实现相同的接口A
  • 主体类依赖适配器类
  • 适配器类依赖抽象接口B
  • 被适配的类实现抽象接口B

最终的效果就是,主体类可以使用之前不相关的被适配类中的某些功能。

把前文《Java设计模式(6)----------适配器模式》中的UML图拿过来,结构是这样的
图片描述


桥接模式

该模式重点强调的是多维度的变化

该模式的关键点是:

  • 主体类依赖抽象A
  • 主体类具有多个不同的实现类
  • 抽象A具有多个不同的实现类

最终的效果就是,主体类的实现类和抽象的实现类分别可以在两个维度上进行各自的变化。如果主体类依赖多个抽象,则维度进行增加,方便扩展。

把前文Java设计模式(7)----------桥接模式中的UML图拿过来,结构是这样的
图片描述


装饰器模式

该模式重点强调的是装饰功能。

该模式的关键点是:

  • 抽象A具有多个具体子类
  • 装饰器类依赖抽象A
  • 装饰器类实现抽象A
  • 装饰器类存在不同子类

最终的效果就是,(装饰器实现类)对(原抽象的子类)进行某些方法的功能加强。

把前文《Java设计模式(9)----------装饰器模式》中的UML图拿过来,结构是这样的
图片描述

小结

其实从三者的UML图可以看出三种模式都是2个三角结构,但是位置不同。

  • 适配器模式三角结构的位置是一上一下(因为适配器依赖抽象)。
  • 桥接模式三角结构的位置是并列的(主体类直接依赖抽象)。
  • 装饰器模式三角结构的位置也是并列的,但是多出了一条线(主体类不仅依赖抽象,而且实现该抽象接口)
點(diǎn)擊查看更多內(nèi)容
5人點(diǎn)贊

若覺(jué)得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
JAVA開發(fā)工程師
手記
粉絲
1萬(wàn)
獲贊與收藏
1426

關(guān)注作者,訂閱最新文章

閱讀免費(fèi)教程

感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消