<?php/***建造者模式特点:* 1.客户端不必知道产品内部组成的细节,将产品本身与产品的创建过程解耦,使得相同的创建过程可以创建不同的产品对象。* 2.每一个具体建造者都相对独立,而与其他的具体建造者无关,因此可以很方便地替换具体建造者或增加新的具体建造者, *用户使用不同的具体建造者即可得到不同的产品对象 * 3.建造者模式所创建的产品一般具有较多的共同点,其组成部分相似,如邯郸学步造句果产品之间的差异性很大,则不适合使用建造者模式**角色:关于安全的征文* product(产品角色):一个具体的产品对象。 * builder(抽象建造者):创建一个product对象的各个部件指定的抽象接口。 * concretebuilder(具体建造者):实现抽象接口,构建和装配各个部件。 * director(指挥者):构建一个使用builder接口的对象。它主要是用于创建一个复杂的对象。它主要有两个作用,一是:隔离了客户与对象的生产过程,* 二是:负责控制产品对象的生产过程。**示例:* 通过建造者模式来创建不同配置的手机,用户购买手机时不需要知道手机是怎么生产出来的只要说自己要低配手机(低配建造者)还是高配手机(高配建造者)然后手机商(指挥者)去获取**/class phone{ public $ram; public $rom;}abstract class builder{ protected $phone; public function __construct(){ $this->phone = dnf幽灵列车new phone; } public abstract function addrom(); public abstract function addram(); public function getresult(){ return $this->phone; }}class lowbuilder extends builder{ public function addrom(){ $this->phone->rom = "4g"; } public function addram(){ $this->phone->ram = "3g"; 初中生活作文600字 }}class hightbuilder extends builder{ public function addrom(){ $this->phone->rom = "6g"; } public function addram(){ $this->phone->ram = "4g"; }}class shoper{ public function __construct(builder $builder){ $builder->addrom(); 全国公共英语 $builder->addram(); }}$builder = new hightbuilder();new shoper($builder);var_dump($builder);
本文发布于:2023-04-06 18:48:24,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/09d58983afc1ace0af6364c7de408a5b.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:【php设计模式】建造者模式.doc
本文 PDF 下载地址:【php设计模式】建造者模式.pdf
留言与评论(共有 0 条评论) |