設計模式-組合模式-Composite

? 組合模式-Composite

源碼地址: https://github.com/mumushuiding/golang-design-pattern/tree/master/05_Composite

組合模式就像是一個? 樹形結構,基本單位是?  對象,基本節點互相聚集在一起就是? 組合 對象

❓ 問題

客戶只需要知道節點的抽象的  接口,樹形結構中的節點在工作時無論是單一還是組合的都會同樣處理

✔️ 解決方法

組合模式的基礎是定義一個抽象類 Node,通過 接口 和契約確定它的行爲.?葉類Leaf是Node的派生類,? 不能 聚集節點. 組合 對象Compoud是Node的派生類,可以? 聚集 多個Node節點.

⚡️類圖

?參與者

組合模式的參與者如下:

  • Node (節點).抽象類Node確定了派生類的接口和行爲.
  • ? Leaf (葉).體現了樹形結構中的一個終結元素.
  • ? Compound (組合).它可以聚集其他節點.

?評價

?優點

優點:

  • 葉和組合具有相同的接口,客戶可以 統一 處理
  • 可以多層 嵌套

?缺點

缺點:

  • 過多地使用不同的葉類和組合類,設計和構造樹形結構就會條理不清.
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章