為了將具有樹形結構的特殊邏輯和通常邏輯解耦,將特殊邏輯抽離,並和通常邏輯受統一的介面約束,這樣的類結構叫組合模式
組合模式由三部分組成:
統一介面:
public
inte***ce
compoisite
葉子結點:
public
class
leaf
implements
compoisite
@override
public
void
dosth()
}
分支節點:
public
class
branch
implements
compoisite
public
void
add(compoisite compoisite)
@override
public
void
dosth()
}
使用:
public
static
void
main
(string[
] args)
1 part do stha
2 part do stha
3 part do stha
4 part do stha
b whole do stha before part
a whole do stha before part
設計模式 結構型 組合模式
將物件組合成樹形結構以表示 部分 整體 的層次結構。組合模式使得使用者對單個物件和組合物件的使用具有唯一性。對於樹形結構,當容器物件 如資料夾 的某乙個方法被呼叫時,將遍歷整個樹形結構,尋找也包含這個方法的成員物件 可以是容器物件,也可以是葉子物件 並呼叫執行,牽一而動百,其中使用了遞迴呼叫的機制來...
設計模式 10 結構型之組合模式
1 概念 composite模式也叫組合模式,是構造型的設計模式之一。通過遞迴手段來構造樹形的物件結構,並可以通過乙個物件來訪問整個物件樹。include using namespace std include string include list class ifile 檔案結點 class f...
java結構型設計模式 組合模式
1 模式理解 組合模式就是把兩個物件放在乙個物件裡嘍,確切的說是乙個物件包含別的物件的集合,好比你一老闆可以有很多個員工,夠清除了吧 2 運用場景 單對多或者多對單的時候可以使用組合模式 3 示例 先建立員工物件 public class staff public string getname pu...