您的位置:首页 > 编程语言 > PHP开发

PHP设计模式之组合(Composite)模式

2012-03-02 10:53 801 查看
组合模式在处理树形结构的数据时非常实用,基本原理是所有节点都继承同一个component,每个节点可以包含节点。



举例来说,还是以我们的网页游戏为例,我们有军队(Army),军队里有武器和兵种,游戏它们都是进攻的单位,都有攻击范围。军队由各种Unit组成,也可以有其他军队合并。当军队发动进攻时,所有的单位都应该统一执行。

在树形结构中节点分两种,一种是可以包含叶子的CompositeUnit,另一种只能作为叶子。只能作为叶子节点的节点应该不能含有添加节点和删除节点的方法,可以将组合模式改造成下面的方式



组合模式另外一个实际使用的地方时单元测试,每个单元测试都是一个Unit,可以将多个单元测试集合成一个Suite,Suite又可以包含Suite。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: