国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

設(shè)計模式:組合模式

2021-04-24 21:59 作者:做架構(gòu)師不做框架師  | 我要投稿

什么是組合模式?

組合模式(英文:Composite Pattern),將對象組合成樹狀層次結(jié)構(gòu),使用戶對單個對象和組合對象具有一致的訪問性。

一句話歸納

部分-整體的層次結(jié)構(gòu)

代碼示例

組合模式一般描述整體和部分的關(guān)系,他把所有對象以樹形結(jié)構(gòu)的形式展現(xiàn),頂級節(jié)點被稱為根節(jié)點,根節(jié)點下面可以是樹枝節(jié)點,也可以是葉子節(jié)點,樹枝節(jié)點下面又可以是樹枝節(jié)點和葉子節(jié)點,葉子節(jié)點下面則沒有任何節(jié)點。

注意:在葉子類中的幾個方法為什么要加個Deprecated注解呢?就是在編譯器期告訴調(diào)用者,調(diào)用這個方法,但是會出現(xiàn)錯誤,已經(jīng)告訴“該方法已經(jīng)失效”了,還使用那在運行器也會拋出UnsupportedOperationException異常。

適用性

以下我建議你考慮使用:

  • 只要是整體和部分的關(guān)系都可以,比如公司組織架構(gòu)、菜單、文件夾等等;

  • 葉子節(jié)點可以自由地增加。

局限性

以下我建議你謹(jǐn)慎使用:

  • 設(shè)計復(fù)雜,客戶端需要更多的時間清理層次關(guān)系。

透明的組合模式和安全的組合模式

  • 透明模式,是把用來組合使用的方法放到抽象類中,不管葉子節(jié)點還是樹枝節(jié)點都有相同的結(jié)構(gòu),如果處理不當(dāng),這個會在運行期出現(xiàn)問題,不是很建議的方式;

  • 安全模式,是把樹枝節(jié)點和樹葉節(jié)點徹底分開,樹枝節(jié)點單獨擁有用來組合的方式,這種方式比較安全。

寫在最后

最后,好兄弟,記得點贊,關(guān)注,謝謝。


設(shè)計模式:組合模式的評論 (共 條)

分享到微博請遵守國家法律
安乡县| 正安县| 平江县| 洪雅县| 连云港市| 苏尼特右旗| 蒙山县| 石泉县| 肇源县| 阿克陶县| 密云县| 万全县| 和林格尔县| 西藏| 郸城县| 留坝县| 顺义区| 年辖:市辖区| 洱源县| 康定县| 大埔县| 南康市| 盐城市| 西青区| 元谋县| 铁岭县| 新巴尔虎右旗| 安义县| 朔州市| 永平县| 招远市| 石家庄市| 乃东县| 新乡县| 锡林郭勒盟| 驻马店市| 蛟河市| 会泽县| 栖霞市| 武陟县| 威宁|