国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

JAVA裝飾者模式(從現(xiàn)實(shí)生活角度理解代碼原理)

2019-11-26 13:30:20
字體:
供稿:網(wǎng)友

裝飾者模式可以動(dòng)態(tài)地給一個(gè)對象添加一些額外的職責(zé)。就增加功能來說,Decorator模式相比生成子類更為靈活。

該模式的適用環(huán)境為:

(1)在不影響其他對象的情況下,以動(dòng)態(tài)、透明的方式給單個(gè)對象添加職責(zé)。

(2)處理那些可以撤消的職責(zé)。

(3)當(dāng)不能采用生成子類的方法進(jìn)行擴(kuò)充時(shí)。一種情況是,可能有大量獨(dú)立的擴(kuò)展,為支持每一種組合將產(chǎn)生大量的子類,使得子類數(shù)目呈爆炸性增長。另一種情況可能是因?yàn)轭惗x被隱藏,或類定義不能用于生成子類。

實(shí)現(xiàn)該模式的關(guān)鍵步驟:

(1)Component(被裝飾對象基類):定義對象的接口,可以給這些對象動(dòng)態(tài)增加職責(zé);

(2)ConcreteComponent(具體被裝飾對象):定義具體的對象,Decorator可以給它增加額外的職責(zé);

(3)Decorator(裝飾者抽象類):維護(hù)指向Component實(shí)例的引用,定義與Component一致的接口(也就是要繼承或?qū)崿F(xiàn)被裝飾對象基類);

(4)ConcreteDecorator(具體裝飾者):具體的裝飾對象,給內(nèi)部持有的具體被裝飾對象增加具體的職責(zé);

這樣講大家可能有些不好理解,那我們還是老規(guī)矩安靜:

入冬以后天氣越來越冷了,下班之后,做為資深吃貨,約上二三好友痛快的來場火鍋盛宴再爽不過了。說到火鍋,不得不提在成都吃過的大龍

主站蜘蛛池模板: 扶余县| 晋江市| 名山县| 荣昌县| 寿宁县| 兴山县| 额尔古纳市| 勐海县| 宽甸| 甘孜县| 河间市| 平湖市| 古蔺县| 榕江县| 苗栗市| 西吉县| 南皮县| 黔西县| 南开区| 平山县| 澄迈县| 高州市| 和龙市| 乌兰察布市| 盐津县| 商南县| 二连浩特市| 波密县| 镶黄旗| 武陟县| 宜章县| 拉孜县| 贵州省| 德清县| 英德市| 女性| 桂东县| 麟游县| 石林| 当涂县| 清流县|