美文网首页
设计模式(四):建造者模式

设计模式(四):建造者模式

作者: 何笙 | 来源:发表于2019-05-08 15:46 被阅读0次

建造者模式(Builder Pattern)

建造者模式(Builder Pattern)将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。

问题引出:
假设我们有个生产车的工厂,可以制造各种车,比如自行车、汽车、卡车等等,如果每辆车都是从头到尾按部就班地造,必然效率低下。
解决方法:
我们可以试着将车的组装和零部件生产分离开来:让一个类似“导演”的角色负责车子组装,而具体造什么样的车需要什么样的零部件让具体的“构造者”去实现。
使用场景:
一些基本部件不会变,而其组合经常变化的时候。
关键代码:
建造者:创建和提供实例,导演:管理建造出来的实例的依赖关系。

示例代码:

//组装类
class Director {
    public function build(BuilderInterface $builder) {
        $builder->createVehicle();
        $builder->addDoors();
        $builder->addEngine();
        $builder->addWheel();

        return $builder->getVehicle();
    }
}
//建造者接口
interface BuilderInterface {
    public function createVehicle();

    public function addWheel();

    public function addEngine();

    public function addDoors();

    public function getVehicle();
}
//建造者实例
class BikeBuilder implements BuilderInterface {
}

class CarBuilder implements BuilderInterface {
}
//零件类
class Wheel {
}

class Doors {
}

class Engine {
}

总结:

建造者模式跟抽象工厂模式相比,就是多了一个“导演类”的角色,可以用来创建更加复杂的对象。抽像工厂模式是将对象的全部创建过程封装在工厂类中,而建造者模式中,建造者类一般只提供产品的各个组件的建造方法,而将建造过程交付给导演类。

相关文章

  • Java 十一种设计模式深入理解

    目录一、工厂设计模式二、抽象工厂模式三、单例设计模式四、建造者(Builder)模式五、原型模式六、适配器设计模式...

  • Retrofit

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

  • 设计模式(十四)中介者模式

    相关文章 设计模式(一)设计六大原则设计模式(二)单例模式的七种写法设计模式(三)建造者模式设计模式(四)简单工厂...

  • Android中涉及的模式

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

  • 设计模式之建造者模式

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

  • 设计模式 - 目录

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

  • 设计模式之建造者模式

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

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

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

  • 【Java设计模式】--建造者模式

    建造者模式(Bulider模式) 一、什么是建造者模式 建造者模式是设计模式的一种,将一个复杂对象的构建与它的表示...

  • 创建型设计模式

    1,创建型设计模式有四种:1,单例模式。2,工厂模式。3,建造者模式。4,原型模式。 2,四种设计模式的应用场景:...

网友评论

      本文标题:设计模式(四):建造者模式

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