设计模式-合成模式 Composite pattern

1.合成模式又称为部分—整体模式。

2.他是一种将对象组织到树形结构的设计模式。他的要素包含抽象构件、树枝构件、树叶构件。

  1. 抽象构件 ( Component), 为树结构中节点对象定义接口以及默认行为.
  2. 树枝构件 ( Composite), 拥有下一级树叶节点对象 , 同时对树叶节点对象进行管理 .
  3. 树叶构件 (leaf), 没有下一级节点对象 , 树结构最末端 , 由该对象组成上一级的树枝节点对象 .
3.  合成模式分为安全式和透明式模式两种方式:

  • 透明式。 即在抽象构件 (Component)中声明所有函数。优点:所有的构件类都有相同的接口,方便客户端调用。缺点:树枝构件和树叶构件采用不同的方法,但是客户端没有区分,容易从树叶构件中调树枝构件的对象,报错。
  • 安全式。在Composite类里面声明所有用来管理子类的方法。优点:安全,限制了客户端对树叶构件调用这些方法。缺点。不够透明,每个构件都有不同的方法。

4.使用产景 需求中体现整体与部分的关系,希望用户可以忽略组合对象与单体对象的不同,统一使用组合结构中的所有对象,就考虑使用组合模式。

tips: 

1.组合模式为一般树形结构。非树形结构,不推荐。

2.组合模式。一种有环的组合模式,没怎么看懂跟树形结构冲突。再看一遍,看完再写。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值