浅谈PHP设计模式的建造者模式

简介:

建造者模式,又称之为生成器模式,属于创建型的设计模式。将一个复杂对象的构建,与它的表示分离,使得同样的构建过程可以创建不同的表示。

适用场景:

用于创建一些复杂的对象,这些对象内部构建间的建造顺序通常是稳定的(这就表名可以抽离),但对象的外在面临着复杂的变化。

优点:

创建和表象分离

缺点:

如果核心类内部发生变化,建造者也要相应修改
与工厂模式:
比工厂模式多了一道自行处理的工序

代码:

abstract class TestPaper {
    abstract public function BuildPaper();
    abstract public function BuildQuestion();
}

class ChineseExaminationPaper extends TestPaper {
    public function BuildPaper() {
        echo "使用A4纸";
    }

    public function BuildQuestion() {
        echo "语文题";
    }
}

class EnglishExaminationPaper extends TestPaper {
    public function BuildPaper() {
        echo "使用A6纸";
    }

    public function BuildQuestion() {
        echo "英文题";
    }
}



class ExaminationPaper {
    private $examination_paper;
    function __construct($examination_paper) {
        $this->examination_paper = $examination_paper;
    }

    public function create() {
        $this->examination_paper->BuildPaper();
        $this->examination_paper->BuildQuestion();
    }
}


//客户端代码

$thinDirector = new ExaminationPaper(new ChineseExaminationPaper());
$thinDirector->create();

$fatDirector = new ExaminationPaper(new EnglishExaminationPaper());
$fatDirector->create();

原文链接:https://www.cnblogs.com/phpphp/p/17031616.html

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:浅谈PHP设计模式的建造者模式 - Python技术站

(0)
上一篇 2023年4月18日
下一篇 2023年4月18日

相关文章

  • php array_map使用自定义的函数处理数组中的每个值

    下面是关于 “php array_map使用自定义的函数处理数组中的每个值” 的完整攻略。 什么是 array_map 函数? array_map 函数是 PHP 标准库中的函数,它将一个数组的所有元素通过某个回调函数映射到另一个数组中,并返回新的数组。通俗的来说,就是通过一个函数对一个数组中的每个元素做处理,得到一个经过处理后的新数组。 array_map…

    PHP 2023年5月26日
    00
  • 【踩坑日记】nginx server_name配置多域名的坑

    各位技术大佬,大家好,我是练习时长两年半的代码练习生,Max,喜欢技术,后端和架构。 问题介绍 项目配置了多个域名,如下,php 代码中有获取 $_SERVER[‘SERVER_NAME’] 的值。 server { server_name a.demo.com b.demo.com; … } 当访问 a.demo.com 时,其获取的值是符合预期的。但…

    PHP 2023年4月18日
    00
  • PHP在线生成二维码(google api)的实现代码详解

    下面是关于“PHP在线生成二维码(google api)的实现代码详解”的攻略,可以供您参考: 简介 在互联网时代,有时我们需要将某个内容分享给他人或者在广告、产品包装上加上一些URL地址,那么生成二维码就成了一种非常常见的做法。本攻略将介绍如何使用PHP在线生成二维码,使用的API是Google API。 步骤 1. 申请Google API Key 首先…

    PHP 2023年5月23日
    00
  • 微信小程序实现文件预览

    下面是详细讲解“微信小程序实现文件预览”的完整攻略。 思路概述 在微信小程序中实现文件预览,一般思路是获取文件的临时链接(即tempFilePath),然后使用<web-view>组件加载该链接从而完成文件的预览。同时,由于微信小程序对于不同文件类型的预览方式不同,所以需要进行相应的分类处理。 具体实现 获取 tempFilePath 首先需要通…

    PHP 2023年5月23日
    00
  • 微信小程序存在漏洞吗 微信小程序会堵上那些app漏洞吗

    微信小程序存在漏洞吗 是的,微信小程序同样存在漏洞。随着微信小程序的普及和使用,黑客也开始尝试攻击微信小程序,以获取非法利益或窃取用户信息等。 微信小程序攻击包括以下漏洞类型: XSS(跨站脚本)漏洞:黑客可以通过注入恶意脚本,来窃取用户信息、欺骗用户等。 CSRF(跨站请求伪造)漏洞:黑客可以通过构造特制的链接或网页,来进行针对性攻击,如恶意转账、修改用户…

    PHP 2023年5月23日
    00
  • PHP 多进程 解决难题

    PHP 多进程 解决难题 背景 随着互联网的快速发展,现代网站往往承载着大量的请求和用户访问。这些访问一般都需要进行计算和处理,处理数据的计算量逐渐变得越来越大,单线程的方式难以满足这些需求,需要使用多进程的技术来提高并发性能。 多进程实现方式 在PHP中,多进程可以通过开多线程或者创建子进程来实现。其中,开多线程是常见做法,但是多线程带来的内存分配、数据共…

    PHP 2023年5月27日
    00
  • php常用字符串输出方法分析(echo,print,printf及sprintf) 原创

    PHP常用字符串输出方法分析 在PHP中,输出字符串是我们经常要面对的问题,我们需要掌握一些常用的输出方法来输出我们想要的内容。本文主要介绍PHP常用的四种字符串输出方法echo、print、printf和sprintf。 echo echo是PHP中最常用的字符串输出函数,可以输出一个或多个字符串,语法格式如下: echo string1, string2…

    PHP 2023年5月26日
    00
  • 如何申请抖音外卖站长资格

    当你想要申请抖音外卖站长资格时,需要依照以下步骤进行操作: 步骤一:注册抖音账号 首先,你需要拥有一个抖音账号。如果没有,可以通过抖音 APP 进行注册。 步骤二:搜索抖音外卖小程序 在抖音首页搜索栏中搜索“抖音外卖”,即可找到抖音外卖的小程序入口。 步骤三:进入抖音外卖小程序 点击进入抖音外卖小程序,会有进入主页和站长入口两个选项,点击站长入口。 步骤四:…

    PHP 2023年5月30日
    00
合作推广
合作推广
分享本页
返回顶部