日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

《JAVA與模式》讀后感4-裝飾模式

系統(tǒng) 3008 0

裝飾模式
定義:以對客戶端透明的方式擴展對象的功能,是繼承關(guān)系的一個替代方案。


裝飾模式的構(gòu)件包括抽象構(gòu)件、具體構(gòu)件、抽象裝飾、具體裝飾。對于透明的裝飾模式,客戶端面向抽象構(gòu)件編程,所以是透明的(對所有的裝飾視而不見)。對半透明的裝飾模式,客戶端面向具體裝飾編程,因為要使用具體裝飾的特殊方法(不在抽象構(gòu)件和抽象裝飾里面),無法實現(xiàn)完全透明。

《JAVA與模式》讀后感4-裝飾模式
?



裝飾模式的原理是逐層包裹并加入新功能。把地球結(jié)構(gòu)想象成裝飾模式,內(nèi)核就是具體構(gòu)件,外核、地幔等就是具體裝飾。

《JAVA與模式》讀后感4-裝飾模式
?


裝飾模式的應(yīng)用場景:
(1)需要擴展類的功能或增加附加責(zé)任。
(2)需要動態(tài)給對象增加功能,這些功能也可以動態(tài)撤銷。
(3)需要通過基本功能的排列組合產(chǎn)生大量功能。繼承體系無法實現(xiàn)這一點,因為繼承關(guān)系是靜態(tài)的,無法動態(tài)組合,這一點正是裝飾模式的優(yōu)點。?

?
裝飾模式與適配器模式的區(qū)別:
適配器模式是改變接口不改變功能。裝飾模式是不改變接口(因為對客戶端透明),而改變功能(因為逐層加入功能)。


裝飾模式與策略模式的區(qū)別:
裝飾模式雖然逐層加入新功能,但是內(nèi)心的功能不會改變。策略模式會把內(nèi)心的功能(具體算法)整個替換。


裝飾模式與合成模式的關(guān)系:
裝飾模式經(jīng)常用在合成模式的行為擴展上。因為使用繼承對于合成模式來說不是好辦法,而裝飾模式是繼承模式的替代方案。

?

《JAVA與模式》讀后感4-裝飾模式


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 林芝县| 托克逊县| 阿尔山市| 九龙坡区| 靖江市| 崇左市| 八宿县| 随州市| 灵川县| 焦作市| 洪洞县| 荔浦县| 安陆市| 广饶县| 政和县| 阜新| 凤冈县| 恩平市| 普宁市| 湾仔区| 颍上县| 玛沁县| 鹿邑县| 额济纳旗| 株洲市| 贡山| 通化县| 吉木萨尔县| 临湘市| 舞阳县| 溆浦县| 尉氏县| 益阳市| 漳浦县| 柳州市| 阿城市| 民权县| 安福县| 武强县| 麦盖提县| 特克斯县|