組合模式(composite pattern)
將物件組合成樹形結構以表示「部分-整體」的層次結構。組合模式使得使用者對單個物件和組合物件的使用具有一致性。
它使我們在樹形結構的問題中,模糊了簡單元素和複雜元素的概念,客戶程式可以像處理簡單元素一樣來處理複雜元素,從而使得客戶程式與複雜元素的內部結構解耦。
員工類
public abstract class staff
public string getname()
public void setname(string name)
public string getposition()
public void setposition(string position)
public void printstaffinfo()
public void printemployeesinfo(){};
public void add(staff staff){};
}
管理者類
public class manager extends staff
@override
public void add(staff staff)
@override
public void printemployeesinfo()
}}
普通員工類
public class employee extends staff
}
測試類
public class demo
}
測試結果
大老闆 ceo
大老闆的下屬:張總 財務部經理
大老闆的下屬:王總 人事部經理
大老闆的下屬:陳總 技術部經理
陳總的下屬:王助理 部門助理
陳總的下屬:主管1 技術主管
主管1的下屬:張三 軟體工程師
主管1的下屬:李四 軟體工程師
主管1的下屬:王五 軟體工程師
陳總的下屬:主管2 技術主管
大老闆的下屬:吳總 市場部經理
大小: 71.5 kb 組合模式 設計模式 組合模式
1.需求分析 假設要給乙個大公司做辦公管理系統,公司有人力資源部 財務部等,然後公司在其他城市還有分公司,分公司也有自己的人力資源部 財務部等,要求總公司 分公司以及各部分成樹狀結構管理。要完成這麼乙個系統,為了有乙個更好的設計,方便開發的展開,就需要了解乙個設計模式 組合模式。2.定義 將物件組合...
設計模式 組合模式 組合模式使用
目錄 組合模式概括 組合模式使用場景 定義 將物件組合成樹形結構以表示 部分 整體 的層次結構 作用 使客戶端對單個物件和組合物件保持一致的處理方式 使用場景 1.希望客戶端可以忽略組合物件與單個物件的差異時 2.處理乙個樹形結構時 優點 清楚的定義分層次的複雜物件,表示物件的全部或部分層次 讓客戶...
設計模式 組合設計模式
組合模式 composite pattern 又稱部分整體模式,用於把一組相似的物件當做乙個單一的物件,組合模式依據樹形來組合物件,用來表示部分以及整體層次,為結構型設計模式,它建立來物件組的樹形結構。意圖 將物件組合成樹形結構以表示 部分 整體 的結構層次,組合模式使得使用者對單個物件和組合物件的...