設計模式(design pattern)是一套被反覆使用、多數人知曉的、經過分類的、**設計經驗的總結。
使用設計模式的目的:為了**可重用性、讓**更容易被他人理解、保證**可靠性。 設計模式使**編寫真正工程化;設計模式是軟體工程的基石脈絡,如同大廈的結構一樣。
設計模式可以分為三大類,分別是建立型、結構型和行為型。
將物件組合成樹形結構以表示「部分-整體」的層次結構。組合模式使得使用者對單個物件和組合物件的使用具有一致性。
結構圖
應用場景
擁有部分和整體的場景,例如,檔案和資料夾,樹形選單。
優點
高層**呼叫簡單;節點可以自由增加
缺點
在使用組合模式時,其葉子和樹枝的宣告都是實現類,而不是介面,違反了依賴倒置原則。
**
頂層介面
public abstract class component
public abstract void add(component c);
public abstract void remove(component c);
public abstract void display(int depth);
}
葉子節點
public class leaf extends component
@override
public void add(component c)
@override
public void remove(component c)
@override
public void display(int depth)
private listchildren = new arraylist<>();
@override
public void add(component c)
@override
public void remove(component c)
@override
public void display(int depth)
}
注: 組合模式 設計模式 組合模式
1.需求分析 假設要給乙個大公司做辦公管理系統,公司有人力資源部 財務部等,然後公司在其他城市還有分公司,分公司也有自己的人力資源部 財務部等,要求總公司 分公司以及各部分成樹狀結構管理。要完成這麼乙個系統,為了有乙個更好的設計,方便開發的展開,就需要了解乙個設計模式 組合模式。2.定義 將物件組合...
設計模式 組合設計模式
組合模式 composite pattern 又稱部分整體模式,用於把一組相似的物件當做乙個單一的物件,組合模式依據樹形來組合物件,用來表示部分以及整體層次,為結構型設計模式,它建立來物件組的樹形結構。意圖 將物件組合成樹形結構以表示 部分 整體 的結構層次,組合模式使得使用者對單個物件和組合物件的...
設計模式 組合模式 組合模式使用
目錄 組合模式概括 組合模式使用場景 定義 將物件組合成樹形結構以表示 部分 整體 的層次結構 作用 使客戶端對單個物件和組合物件保持一致的處理方式 使用場景 1.希望客戶端可以忽略組合物件與單個物件的差異時 2.處理乙個樹形結構時 優點 清楚的定義分層次的複雜物件,表示物件的全部或部分層次 讓客戶...