本文為原創(chuàng)博文,轉(zhuǎn)載請(qǐng)注明出處,侵權(quán)必究!
1、初識(shí)裝飾器模式
裝飾器模式,顧名思義,就是對(duì)已經(jīng)存在的某些類(lèi)進(jìn)行裝飾,以此來(lái)擴(kuò)展一些功能。其結(jié)構(gòu)圖如下:
Component為統(tǒng)一接口,也是裝飾類(lèi)和被裝飾類(lèi)的基本類(lèi)型。
ConcreteComponent為具體實(shí)現(xiàn)類(lèi),也是被裝飾類(lèi),他本身是個(gè)具有一些功能的完整的類(lèi)。
Decorator是裝飾類(lèi),實(shí)現(xiàn)了Component接口的同時(shí)還在內(nèi)部維護(hù)了一個(gè)ConcreteComponent的實(shí)例,并可以通過(guò)構(gòu)造函數(shù)初始化。而Decorator本身,通常采用默認(rèn)實(shí)現(xiàn),他的存在僅僅是一個(gè)聲明:我要生產(chǎn)出一些用于裝飾的子類(lèi)了。而其子類(lèi)才是賦有具體裝飾效果的裝飾產(chǎn)品類(lèi)。
ConcreteDecorator是具體的裝飾產(chǎn)品類(lèi),每一種裝飾產(chǎn)品都具有特定的裝飾效果。可以通過(guò)構(gòu)造器聲明裝飾哪種類(lèi)型的ConcreteComponent,從而對(duì)其進(jìn)行裝飾。
2、最簡(jiǎn)單的代碼實(shí)現(xiàn)裝飾器模式
網(wǎng)友評(píng)論