裝飾者模式的核心是裝飾類和被裝飾類兩個類,這兩個類需要繼承同乙個父類或者實現通過介面,表示這兩個類屬於同乙個類體系中。這裡舉個簡單的例子進行說明,具體參考下列**:
public class decoratordemo
}inte***ce phone
class mobilephone implements phone
}class smartphone implements phone
@override
public void function()
private void wechat()
}
裝飾者設計模式的uml類圖表示比較簡單,如下圖所示:
裝飾者模式在擴充套件模組功能時比繼承的方案更加具有彈性,在jdk中裝飾者模式的經典實踐是io相關類的設計。裝飾者模式和**模式有點類似,它們的不同更多的體現在語義上的不同。前者主要是對被裝飾的物件提供增強和擴充套件的功能,而後者更多的是強調**物件對被**物件的控制,例如經典的spring aop的實現。
讀書筆記 《人類簡史》Chapter6
人類簡史 by 尤瓦爾 赫拉利 yuval noah harari 2018 12 28 chapter5最後段落中這樣寫道 我們從農業革命能學到的最重要的一課,很可能就是物種演化上的成功並不代表個體的幸福。研究像小麥和玉公尺這些植物的時候,或許純粹的演化觀點還有些道理。但對於像是牛 羊 智人這些有...
TCP IP協議詳解卷一 Chapter6 筆記
icmp internet control message protocol 網際網路控制報文協議 icmp經常被認為是ip層的乙個組成部分,用於傳遞差錯報文和其他需要注意的資訊。icmp報文是被封裝在ip資料報內部進行傳輸的。icmp報文都包括8位型別字段 8位 字段 16位檢驗和字段。不同的型別...
python核心程式設計 chapter 6 序列
chapter 6 1.序列 n 序列的長度 len sequence 訪問模式 每乙個元素可以通過指定乙個偏移量的方式得到。多個元素可以通過切片操作的方式以得到。2.成員關係操作符 in,not in 成員關係操作符用來判斷乙個元素是否是屬於乙個序列的。返回值是true false,滿足成員關係返...