S02 裝飾器 基礎(chǔ)

定義

在不改變?cè)袑?duì)象的基礎(chǔ)上,將功能附加到對(duì)象上;
提供了比繼承更有彈性的替代方案(擴(kuò)展原有對(duì)象功能);

適用場(chǎng)景

  • 擴(kuò)展一個(gè)類(lèi)的功能或給一個(gè)類(lèi)添加附加職責(zé);
  • 動(dòng)態(tài)的給一個(gè)類(lèi)添加功能,這些功能可以再動(dòng)態(tài)的撤銷(xiāo);

優(yōu)點(diǎn)

  • 繼承的有力補(bǔ)充,比繼承靈活,不改變?cè)袑?duì)象的情況下給一個(gè)對(duì)象擴(kuò)展功能;
  • 通過(guò)使用不同裝飾類(lèi)以及這些裝飾類(lèi)的排列組合,可以實(shí)現(xiàn)不同效果;
  • 符合開(kāi)閉原則;

缺點(diǎn)

  • 會(huì)出現(xiàn)更多的代碼,更多的類(lèi),增加程序復(fù)雜性;
  • 動(dòng)態(tài)裝飾,多層裝飾時(shí)會(huì)更復(fù)雜;

相關(guān)設(shè)計(jì)模式

  • 裝飾器模式 & 代理模式;
  • 裝飾器模式 & 適配器模式;
最后編輯于
?著作權(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)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 【學(xué)習(xí)難度:★★★☆☆,使用頻率:★★★☆☆】直接出處:裝飾模式梳理和學(xué)習(xí):https://github.com/...
    BruceOuyang閱讀 851評(píng)論 2 2
  • 1 場(chǎng)景問(wèn)題# 1.1 復(fù)雜的獎(jiǎng)金計(jì)算## 考慮這樣一個(gè)實(shí)際應(yīng)用:就是如何實(shí)現(xiàn)靈活的獎(jiǎng)金計(jì)算。 獎(jiǎng)金計(jì)算是相對(duì)復(fù)雜...
    七寸知架構(gòu)閱讀 4,300評(píng)論 4 67
  • 0.提前說(shuō)明 模式選擇的方法1)模式的功能——看是否能解決問(wèn)題2)模式的本質(zhì)——看模式是否主要用來(lái)解決這類(lèi)問(wèn)題3)...
    王偵閱讀 1,270評(píng)論 0 1
  • 今年過(guò)的年,電話、視頻貌似是歷年來(lái)搞得最多的一回。晨間是與女神家人們視頻,然後看著女神跟俺父母打電話。 上班還算中...
    阿飛閱讀 218評(píng)論 0 1
  • 什么是雙花 前面我們講到區(qū)塊鏈就是一種去中心的可靠的協(xié)議,一種點(diǎn)對(duì)點(diǎn)的價(jià)值傳輸,相比于數(shù)據(jù)傳輸協(xié)議解決了很核心的重...
    木子務(wù)閱讀 11,174評(píng)論 2 7

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