美文网首页
PHP设计模式:建造者模式

PHP设计模式:建造者模式

作者: Zed_790e | 来源:发表于2019-06-21 17:19 被阅读0次

前言

建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。

代码

<?php

//定义一个抽象类:装备
abstract class Equipment
{
    //定义五个抽象方法 头盔,衣服,下装,腰带,护腕,鞋子,首饰,武器,坐骑
    abstract function helmets();

    abstract function clothes();

    abstract function jackets();

    abstract function belt();

    abstract function wrists();

    abstract function shoes();

    abstract function jewelry();

    abstract function weapons();

    abstract function mounts();
}

//定义一个人民币玩家
class RmbPlayer extends Equipment
{

    public function helmets()
    {
        echo '极品帝皇头盔:防御+9999' . PHP_EOL;
    }

    public function clothes()
    {
        echo '极品帝皇上装:防御+8888' . PHP_EOL;
    }

    public function jackets()
    {
        echo '极品帝皇下装:防御+7777' . PHP_EOL;
    }

    public function belt()
    {
        echo '极品帝皇腰带:气血+9999' . PHP_EOL;
    }


    public function wrists()
    {
        echo '极品帝皇护腕:气血+8888' . PHP_EOL;
    }

    public function shoes()
    {
        echo '极品帝皇戒指:内力+9999' . PHP_EOL;
    }

    public function jewelry()
    {
        echo '极品帝皇鞋子:移动速度+3000' . PHP_EOL;
    }

    public function weapons()
    {
        echo '帝皇巨兵:攻击+99999' . PHP_EOL;
    }

    public function mounts()
    {
        echo '上古神兽--菜虚鲲 技能=> 
        唱:攻击时给予友方精神亢奋BUFF。
        跳:有一定几率闪避地方攻击,
        rap,攻击时附加精神伤害
        隐藏技能绿狮含:召唤上古绿色雄狮含住敌方,成功含住后有一定几率使敌方陷入鬼畜状态' . PHP_EOL;
    }
}

//定义一个普通玩家
class NormalPlayer extends Equipment
{

    public function helmets()
    {
        echo '含羞头巾:作为loser的你只能绑一根草' . PHP_EOL;
    }

    public function clothes()
    {
        echo '一身胸毛:可能能起到御寒作用' . PHP_EOL;
    }

    public function jackets()
    {
        echo '破洞裤:陈旧的鹿皮' . PHP_EOL;
    }

    public function belt()
    {
        echo '树皮腰带:偶尔还能吸引蚂蚁' . PHP_EOL;
    }


    public function wrists()
    {
        echo '红丝带:纪念品' . PHP_EOL;
    }

    public function shoes()
    {
        echo '草环戒指:气血+1' . PHP_EOL;
    }

    public function jewelry()
    {
        echo '破旧的帆布鞋:移动速度+1' . PHP_EOL;
    }

    public function weapons()
    {
        echo '小木棒:攻击+1' . PHP_EOL;
    }

    public function mounts()
    {
        echo '巨大的蚂蚁:一只变异的蚂蚁,偶尔会嗜主' . PHP_EOL;
    }
}

class BuilderFace
{
    public $face;

    public function __construct($face)
    {
        $this->face = $face;
    }

    //定义一个创建装备的方法
    public function createFace()
    {
        $this->face->helmets();
        $this->face->clothes();
        $this->face->jackets();
        $this->face->wrists();
        $this->face->shoes();
        $this->face->jewelry();
        $this->face->weapons();
        $this->face->mounts();
    }
}

$handsome = new BuilderFace(new RmbPlayer());
echo 'RMB玩家' . PHP_EOL;
$handsome->createFace();
echo '-------------' . PHP_EOL;
echo '普通玩家' . PHP_EOL;
$handsome = new BuilderFace(new NormalPlayer());
$handsome->createFace();

输出

image.png

相关文章

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

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

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

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

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

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

  • Retrofit

    Retrofit设计模式 动态代理,装饰模式,建造者模式,抽象工厂模式,适配器模式 建造者模式创建Retrofit...

  • Android中涉及的模式

    我的Java设计模式-建造者模式 我的Java设计模式-观察者模式 重学设计模式之单例模式

  • 设计模式之建造者模式

    设计模式之建造者模式 Intro 简介 建造者模式: 建造者模式隐藏了复杂对象的创建过程,它把复杂对象的创建过程加...

  • 设计模式 - 目录

    设计模式01 - 单例模式 设计模式02 - 工厂模式 设计模式03 - 建造者模式 设计模式04 - 适配器模式...

  • 设计模式之建造者模式

    设计模式之建造者模式 1. 模式定义 建造者模式又可以成为生成器模式,它属于对象创建型模式。建造者模式将一个复杂对...

  • php设计模式之建造者模式

    建造者模式 建造者模式也成生成器模式,是将一个复杂对象的构造与他的表示分离,使同样的构建过程可以创建不同的表示创建...

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

    java设计模式--建造者模式 建造者模式定义 建造者模式:是将复杂对象的构建与表示进行分离,使同样的构建过程会有...

网友评论

      本文标题:PHP设计模式:建造者模式

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