24.組合模式

組合模式

HashMap集合里,放Set集合,這就是很典型的組合模式,兩個(gè)類都實(shí)現(xiàn)了Map接口,Map接口中定義了 增 刪 改 查,實(shí)現(xiàn)類都是集合,很適合

適用情況舉例

學(xué)生管理系統(tǒng):
學(xué)校(大集合):增刪改查院系、班級(jí)、學(xué)生、教師
院系(中集合):增刪改查班級(jí)、學(xué)生、教師
班級(jí)(小集合):增刪改查學(xué)生、教師
學(xué)生、教師(元素)

代碼實(shí)現(xiàn):(并沒有代碼)

集合接口:定義增刪改查方法
集合抽象類:實(shí)現(xiàn)集合接口,增加必要屬性
實(shí)現(xiàn)類:學(xué)校、院系、班級(jí)

組合模式的注意事項(xiàng)和細(xì)節(jié)

  1. 簡(jiǎn)化客戶端操作??蛻舳酥恍枰鎸?duì)一致的對(duì)象而不用考慮整體部分或者節(jié)點(diǎn)葉子 的問題。
  2. 具有較強(qiáng)的擴(kuò)展性。當(dāng)我們要更改組合對(duì)象時(shí),我們只需要調(diào)整內(nèi)部的層次關(guān)系, 客戶端不用做出任何改動(dòng).
  3. 方便創(chuàng)建出復(fù)雜的層次結(jié)構(gòu)。客戶端不用理會(huì)組合里面的組成細(xì)節(jié),容易添加節(jié)點(diǎn) 或者葉子從而創(chuàng)建出復(fù)雜的樹形結(jié)構(gòu)
  4. 需要遍歷組織機(jī)構(gòu),或者處理的對(duì)象具有樹形結(jié)構(gòu)時(shí), 非常適合使用組合模式.
  5. 要求較高的抽象性,如果節(jié)點(diǎn)和葉子有很多差異性的話,比如很多方法和屬性 都不一樣,不適合使用組合模式
最后編輯于
?著作權(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)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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