15、组合模式

组合模式,将对象组合成树形结构以表示“部分-整体”的层次结构,组合模式使得用户对单个对象和组合对象的使用具有一致性。掌握组合模式的重点是要理解清楚 “部分/整体” 还有 ”单个对象“ 与 “组合对象” 的含义。

模式结构

  • Component :组合中的对象声明接口,在适当的情况下,实现所有类共有接口的默认行为。声明一个接口用于访问和管理Component子部件。
  • Leaf:叶子对象。叶子结点没有子结点。
  • Composite:容器对象,定义有枝节点行为,用来存储子部件,在Component接口中实现与子部件有关操作,如增加(add)和删除(remove)等。

结构图

*

PHP代码实现

<?php
/**
 * 组合模式
 */
//组合中的对象声明接口
abstract class Component
{
   
   
     
    public function __construct($name)
    {
   
   
     
        $this->name=$name;
    }
    abstract public function Add(Component $c);
    abstract public function Remove(Component 

版权声明:本文不是「本站」原创文章,版权归原作者所有 | 原文地址: