设计模式-组合模式-Composite

? 组合模式-Composite

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

组合模式就像是一个? 树形结构,基本单位是?  对象,基本节点互相聚集在一起就是? 组合 对象

❓ 问题

客户只需要知道节点的抽象的  接口,树形结构中的节点在工作时无论是单一还是组合的都会同样处理

✔️ 解决方法

组合模式的基础是定义一个抽象类 Node,通过 接口 和契约确定它的行为.?叶类Leaf是Node的派生类,? 不能 聚集节点. 组合 对象Compoud是Node的派生类,可以? 聚集 多个Node节点.

⚡️类图

?参与者

组合模式的参与者如下:

  • Node (节点).抽象类Node确定了派生类的接口和行为.
  • ? Leaf (叶).体现了树形结构中的一个终结元素.
  • ? Compound (组合).它可以聚集其他节点.

?评价

?优点

优点:

  • 叶和组合具有相同的接口,客户可以 统一 处理
  • 可以多层 嵌套

?缺点

缺点:

  • 过多地使用不同的叶类和组合类,设计和构造树形结构就会条理不清.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值