当前位置: 首页 > 后端技术 > PHP

PHP面试笔试的设计模式——建造者模式

时间:2023-03-29 16:04:18 PHP

大家好,我是PHP程序员面试笔试系列的作者刘毅。本周(2019.3.11至3.15)更新135篇文章如下:周一:PHP面试设计模式-工厂模式周三:PHP面试设计模式-Builder模式周五:PHP面试常高之设计模式——策略模式一整理了一篇关于《什么是观察者模式?以下内容如需转载,请注明作者及出处。建造者模式介绍建造者模式,又称生成器模式,是一种对象构造模式。它可以将复杂对象的构造过程(抽象类)抽象出来,使这个抽象过程的不同实现方法可以构造出具有不同性能(属性)的对象。建造者模式就是一步一步地创建一个复杂的对象,它允许用户只通过指定复杂对象的类型和内容来构建它们,而用户不需要知道具体的内部构造细节。例如,一辆汽车是由轮子、发动机等零件组成的。对于普通人来说,我们只用一辆完整的汽车。这时候,我们就需要添加一个构造函数来帮助我们将这些部件组装起来,才能成为一辆完整的汽车。UML图UML图说明Builder:一个抽象构造器类,为每个创建Product对象的组件指定一个抽象接口。ConcreteBuilder:实现Builder接口的具体构造器类,用于构造和组装产品的各个组件。定义并指定它创建的表示。提供用于检索产品的接口Director:director使用Builder接口构造一个对象。产品:表示正在构造的复杂对象。ConcreateBuilder创建产品的内部表示并定义其组装过程。包含定义组成部分的类,包括用于将这些部分组装成最终产品的接口。实例展示car=newCar();}publicfunctionbuildPartA(){$this->car->setPartA('发动机');}publicfunctionbuildPartB(){$this->car->setPartB('轮子');}publicfunctionbuildPartC(){$this->car->setPartC('其他零件');}publicfunctiongetResult(){return$this->car;}}classCar{protected$partA;保护$partB;受保护的$partC;公共函数setPartA($str){$this->partA=$str;}公共函数setPartB($str){$this->partB=$str;}公共函数setPartC($str){$this->partC=$str;}publicfunctionshow(){echo"这辆汽车由:".$this->partA.','.$this->partB.',和'.$this->partC.'作品';}}班主任{public$myBuilder;公共函数startBuild(){$this->myBuilder->buildPartA();$this->myBuilder->buildPartB();$this->myBuilder->buildPartC();返回$this->myBuilder->getResult();}publicfunctionsetBuilder(Builder$builder){$this->myBuilder=$builder;}}$carBuilder=newCarBuilder();$director=newDirector();$director->setBuilder($carBuilder);$newCar=$director->startBuild();$newCar->show();mode?”,关注公众号:“六一编程库”,回复:“观察”,送上我自己写的,在各大电商平台上有售的《PHP程序员面试笔试宝典》和《PHP程序员面试笔试真题解析》的书。这本书在手,我有一个报价。更多PHP相关面试知识和考题,请关注公众号获取:六一编程库,对本文有任何问题或建议可以留言。我会不断改进,追求极致,谢谢大家的支持。