PHP设计模式之组合(Composite)模式
2012-03-02 10:53
801 查看
组合模式在处理树形结构的数据时非常实用,基本原理是所有节点都继承同一个component,每个节点可以包含节点。
举例来说,还是以我们的网页游戏为例,我们有军队(Army),军队里有武器和兵种,游戏它们都是进攻的单位,都有攻击范围。军队由各种Unit组成,也可以有其他军队合并。当军队发动进攻时,所有的单位都应该统一执行。
在树形结构中节点分两种,一种是可以包含叶子的CompositeUnit,另一种只能作为叶子。只能作为叶子节点的节点应该不能含有添加节点和删除节点的方法,可以将组合模式改造成下面的方式
组合模式另外一个实际使用的地方时单元测试,每个单元测试都是一个Unit,可以将多个单元测试集合成一个Suite,Suite又可以包含Suite。
举例来说,还是以我们的网页游戏为例,我们有军队(Army),军队里有武器和兵种,游戏它们都是进攻的单位,都有攻击范围。军队由各种Unit组成,也可以有其他军队合并。当军队发动进攻时,所有的单位都应该统一执行。
在树形结构中节点分两种,一种是可以包含叶子的CompositeUnit,另一种只能作为叶子。只能作为叶子节点的节点应该不能含有添加节点和删除节点的方法,可以将组合模式改造成下面的方式
组合模式另外一个实际使用的地方时单元测试,每个单元测试都是一个Unit,可以将多个单元测试集合成一个Suite,Suite又可以包含Suite。
相关文章推荐
- [PHP设计模式]Composite(组合)模式范例
- php设计模式 Composite (组合模式)
- php设计模式 Composite (组合模式)
- php设计模式 Composite (组合模式)
- [php]php设计模式 Composite (组合模式)
- 设计模式之(八)组合模式Composite
- 设计模式之美:Composite(组合)
- 设计模式之组合模式与PHP案例
- 设计模式--组合(Composite)模式
- php 设计模式(组合模式一)
- [Golang]设计模式实践:组合(Composite)
- 学习php设计模式 php实现合成模式(composite)
- 【设计模式 - 8】之组合模式(Composite)
- 设计模式之组合模式(Composite)摘录
- 设计模式学习笔记Composite组合模式
- 设计模式之组合模式(composite)
- 设计模式之组合模式(Composite)
- 设计模式:组合模式(Composite)
- 设计模式(8)——Composite(组合)模式
- 重学设计模式 - Composite(组合)模式 - 结构型