優點缺點
乙個目錄抽象類
目錄:此時產生了子目錄items,存在遞迴關係。
/**
* 課程目錄
*/public
class
coursecatalog
extends
catalogcomponent
// 刪除一門課程
@override
public
void
add(catalogcomponent catalogcomponent)
//@override
public string getname
(catalogcomponent catalogcomponent)
@override
public
void
remove
(catalogcomponent catalogcomponent)
@override
public
void
print()
} catalogcomponent.
print()
;//遞迴列印自己的子目錄}}
}
課程
測試
/**
* 測試
*/public
class
test
}
組合模式對test客戶端的使用來說就是單純的列印,在coursecatalog封裝了乙個遞迴的列印操作。對客戶端來說,無論列印哪個目錄都是imoocmaincoursecatalog.print();
原始碼:
組合模式 設計模式 組合模式
1.需求分析 假設要給乙個大公司做辦公管理系統,公司有人力資源部 財務部等,然後公司在其他城市還有分公司,分公司也有自己的人力資源部 財務部等,要求總公司 分公司以及各部分成樹狀結構管理。要完成這麼乙個系統,為了有乙個更好的設計,方便開發的展開,就需要了解乙個設計模式 組合模式。2.定義 將物件組合...
二十三種設計模式之組合模式
組合模式 將物件聚合成樹形結構來表現 整體 部分 的層次結構。組合模式能讓客戶以一致的方式來處理個別物件以及物件組合。也就是我們可以忽略物件組合與個體之間的差別。應用場景 餐廳合併列印主選單 子選單 public abstract class menucomponent public string ...
設計模式 組合模式 組合模式使用
目錄 組合模式概括 組合模式使用場景 定義 將物件組合成樹形結構以表示 部分 整體 的層次結構 作用 使客戶端對單個物件和組合物件保持一致的處理方式 使用場景 1.希望客戶端可以忽略組合物件與單個物件的差異時 2.處理乙個樹形結構時 優點 清楚的定義分層次的複雜物件,表示物件的全部或部分層次 讓客戶...