Welcome to the website navigation,本站只接受合法正规的企业网站,欢迎站长们提交你的网站获得展示和流量有任何问题请联系站长,欢迎大家加入本站。

                
提交网站
  • 网站:76083
  • 待审:5
  • APP:577
  • 文章:304416
  • 会员:56004
文字内链包年1000元 文字内链包年1000元 文字内链包年1000元 AI办公网站 AI绘画工具 AIchat

名站导航为爱好php程序的朋友们提供php相关的教程知识。

PhP程序实现组合模式,有需要的朋友可以参考下。TpyAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!


TpyAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

【特点】TpyAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

将对象组合成树形结构以表示”部分-整体”的层次结构。Composite使用户对单个对象和组合对象的使用具有一致性。TpyAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!


TpyAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

【合成模式的优点和缺点】TpyAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

Composite模式的优点TpyAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

1、简化客户具体代码如下TpyAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

2、使得更容易增加新类型的组件TpyAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!


TpyAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

Composite模式的缺点:使你的设计变得更加一般化,容易增加组件也会产生一些问题,那就是很难限制组合中的组件TpyAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!


TpyAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

【合成模式适用场景】TpyAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

1、你想表示对象的部分-整体层次结构TpyAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

2、你希望用户忽略组合对象和单个对象的不同,用户将统一地使用组合结构中的所有对象。TpyAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!


TpyAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

<?php
/**
 * 抽象组件角色
 */
interface Component {
    /**
     * 返回自己的具体实例操作
     */
    public function getComposite();
    /**
     * 示例方法
     */
    public function operation();
}
/**
 * 树枝组件角色
 */
class Composite implements Component {
    private $_composites;
    public function __construct() {
        $this->_composites = array();
    }
    public function getComposite() {
        return $this;
    }
    /**
     * 示例方法,调用各个子对象的operation方法
     */
    public function operation() {
        echo 'Composite operation begin:<br />';
        foreach ($this->_composites as $composite) {
            $composite->operation();
        }
        echo 'Composite operation end:<br /><br />';
    }
    /**
     * 聚集管理方法 添加一个子对象 www.mzdh.net
     * @param Component $component  子对象
     */
    public function add(Component $component) {
        $this->_composites[] = $component;
    }
    /**
     * 聚集管理方法 删除一个子对象
     * @param Component $component  子对象
     * @return boolean  删除是否成功
     */
    public function remove(Component $component) {
        foreach ($this->_composites as $key => $row) {
            if ($component == $row) {
                unset($this->_composites[$key]);
                return TRUE;
            }
        }
        return FALSE;
    }
    /**
     * 聚集管理方法 返回所有的子对象
     */
    public function getChild() {
       return $this->_composites;
    }
}
class Leaf implements Component {
    private $_name;
    public function __construct($name) {
        $this->_name = $name;
    }
    public function operation() {
        echo 'Leaf operation ', $this->_name, '<br />';
    }
    public function getComposite() {
        return null;
    }
}
/**
 * 客户端
 */
class Client {
    /**
     * Main program.
     */
    public static function main() {
        $leaf1 = new Leaf('first');
        $leaf2 = new Leaf('second');
        $composite = new Composite();
        $composite->add($leaf1);
        $composite->add($leaf2);
        $composite->operation();
        $composite->remove($leaf2);
        $composite->operation();
    }
}
Client::main();
?>


TpyAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

名站网址导航

PhP程序递归获取目录内容readDir,递归删除rmdirTpyAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

TpyAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

好了关于php程序的知识就说到这里希望可以帮助需要的朋友。,

标签:

分享到:

  admin

注册时间:

网站:0 个   APP:3 个  文章:0 篇

  • 76083

    网站

  • 577

    APP

  • 304416

    文章

  • 56004

    会员

赶快注册账号,推广您的网站吧!
文章分类
热门网站
最新入驻APP小程序

宝贝市场2023-02-08

宝贝市场——买手和卖家商品展示

夺宝助手2023-02-08

夺宝助手小程序,查看每日快夺宝平

查诚信2023-02-08

查诚信是一款免费的商业查询工具

车价天天报2023-02-08

快速连接汽车销售,获知汽车最新报

考勤助理小程序2023-02-08

上班签到考勤,实时定位,后台轻松

汽车报价大全查询2023-02-08

汽车报价大全查询提供最新汽车市