學習更多設計模式請參考:入門設計模式之彙總篇 合成模式的職責是將對象組織到樹結構中 觀察上方類圖: interface,一個介面定義了一個獲得當前對象名字的方法 leaf:樹中的葉子節點,實現了interface Branch:樹枝節點,不僅實現了getName方法,同樣它本身具有添加節點刪除節點的 ...
學習更多設計模式請參考:入門設計模式之彙總篇
合成模式的職責是將對象組織到樹結構中
觀察上方類圖:
- interface,一個介面定義了一個獲得當前對象名字的方法
- leaf:樹中的葉子節點,實現了interface
- Branch:樹枝節點,不僅實現了getName方法,同樣它本身具有添加節點刪除節點的方法且本身可以包含多個樹枝節點以及葉子節點
通過上述結論我們可以發現其實合成模式就是樹的結構的實現
來看一下代碼:
public interface Compent {
public String getName();
}
public class Branch implements Compent {
private List<Compent> compent;
@Override
public String getName() {
return "this name";
}
public void add() {
//內部實現
}
public void remove() {
//內部實現
}
}
public class Leaf implements Compent {
@Override
public String getName() {
return "this name";
}
}
本文出自https://zhixiang.org.cn/#/blog/read/e9e4019a-1368-4cbd-a1d7-4ae2959b12d5,轉載請保留。