美文网首页
php建造者模式

php建造者模式

作者: 一路向后 | 来源:发表于2021-03-18 21:29 被阅读0次

1.建造者模式简介

   建造者模式将一个复杂对象的构造过程与其表现分离,这样,同一个构造过程可用于创建多个不同的表现.

2.源码实现

<?php

/*具体产品角色: 鸟类*/
class Bird {
    public $_head;
    public $_wing;
    public $_foot;

    public function show()
    {
        echo "头的颜色: {$this->_head}\n";
        echo "翅膀的颜色: {$this->_wing}\n";
        echo "脚的颜色: {$this->_foot}\n";
    }
}

/*抽象鸟的建造者*/
abstract class BirdBuilder {
    protected $_bird;

    public function __construct()
    {
        $this->_bird = new Bird();
    }

    abstract function BuildHead();
    abstract function BuildWing();
    abstract function BuildFoot();

    public function GetBird()
    {
        return $this->_bird;
    }
}

/*具体鸟的建造者: 蓝鸟*/
class BlueBird extends BirdBuilder {
    public function BuildHead()
    {
        $this->_bird->_head = "Blue";
    }

    public function BuildWing()
    {
        $this->_bird->_wing = "Blue";
    }

    public function BuildFoot()
    {
        $this->_bird->_foot = "Blue";
    }
}

/*指挥者*/
class Director {
    function Construct($_builder)
    {
        $_builder->BuildHead();
        $_builder->BuildWing();
        $_builder->BuildFoot();

        return $_builder->GetBird();
    }
}

class Client {
    public static function main()
    {
        $director = new Director();

        $blue_bird = $director->Construct(new BlueBird());

        $blue_bird->show();
    }
}

Client::main();

?>

3.运行及其结果

$ php example.php
头的颜色: Blue
翅膀的颜色: Blue
脚的颜色: Blue

相关文章

  • php建造者模式

    1.建造者模式简介    建造者模式将一个复杂对象的构造过程与其表现分离,这样,同一个构造过程可用于创建多个不同的...

  • PHP 完整实战23种设计模式

    PHP实战创建型模式 单例模式 工厂模式 抽象工厂模式 原型模式 建造者模式 PHP实战结构型模式 桥接模式 享元...

  • Builder Pattern in Java

    建造者模式:建造者模式定义建造者模式应用场景实现案例Jdk中的建造者模式建造者模式的优点建造者模式的缺点 建造者模...

  • PHP设计模式:建造者模式

    前言 建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模...

  • PHP设计模式-建造者模式

    适用性 建造者设计模式定义了处理其他对象的复杂构建的对象设计 UML 代码示例 具体项目包含一个创建复杂产品对象的...

  • php实现建造者模式

    首先查看建造者模式定义: 假如我们有一个产品(面条),这个产品可能需要添加很多东西在上面,我们一般的做法可能会通过...

  • 设计模式(4) 建造者模式

    什么是建造者模式 经典建造者模式的优缺点 对建造者模式的扩展 什么是建造者模式 建造者模式将一个复杂的对象的构建与...

  • PHP完整实战23种设计模式

    前言 设计模式是面向对象的最佳实践 实战 PHP实战创建型模式 单例模式 工厂模式 抽象工厂模式 原型模式 建造者...

  • 建造者模式(部件构造)

    目录 建造者模式的理念 从 POJO 到建造者模式的思考 怎么来实现建造者模式 建造者模式在Android源码中的...

  • 【设计模式】之建造者Builder模式

    建造者模式 什么是建造者模式? 建造者模式属于创建型模式的一员,可以控制对象的实例化过程。建造者模式简化了复杂对象...

网友评论

      本文标题:php建造者模式

      本文链接:https://www.haomeiwen.com/subject/egapcltx.html