组合模式

**组合模式:**也叫部分整体模式,他创建了对象组的树形结构,将对象组合成树状结构以表示整体和部分的层次关系
组合模式依据树型结构来组合对象,用来表示部分和整体的层次,这样的设计模式属于结构型设计模式,组合模式使得我们用户单个对象和组合对象具有访问一致性,可以让客户以一致的方式处理个别对象以及组合对象.

在这里插入图片描述
这是组合模式的类图
Component是组合中对象声明的接口,在适当情况下,实现所有类共有的接口默认行为,用于访问和管理component子部件,component可以是抽象类或者接口
leaf在接口中表示叶子节点,叶子节点没有子节点
composite非叶子节点,用于存储子部件,在component中实现子部件的相关操作,比如add,remove
在这里插入图片描述
这是我们的component类
在这里插入图片描述
其composite类重写了父类的add和remove方法
在这里插入图片描述
leaf类其没有add和remove
在这里插入图片描述
这样子设计,方便了我们对其进行遍历以及管理,如果这个时候我们在其之间需要再加一个类,我们只需要继承我们的component抽象类,符合我们对扩展开放,对修改关闭,方便我们对于节点的插入删除,这个设计模式必须要求叶子和节点差异不能太大,这里也可以简化我们的操作,我们只需要对一致的对象进行操作,不需要考虑整体和部分的关系.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值