設計模式 組合模式

2021-07-09 08:21:22 字數 1233 閱讀 7831

組合模式(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 又稱部分整體模式,用於把一組相似的物件當做乙個單一的物件,組合模式依據樹形來組合物件,用來表示部分以及整體層次,為結構型設計模式,它建立來物件組的樹形結構。意圖 將物件組合成樹形結構以表示 部分 整體 的結構層次,組合模式使得使用者對單個物件和組合物件的...