美文网首页Java设计模式
设计模式(4)| 建造者模式

设计模式(4)| 建造者模式

作者: yzbkaka | 来源:发表于2020-01-21 17:26 被阅读0次

定义

建造者模式也叫做生成器模式,其定义如下:

Separate the construction of a complex object from its representation so that the sameconstruction process can create different representations.(将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。)

建造者模式的UML图如下:


建造者模式

如图所示,在建造者模式中有4个角色:

  • Director(导演类)
    责安排已有模块的顺序,然后告诉Builder开始建造。
  • Builder(抽象建造者)
    规范产品的组建,一般由子类实现。
  • ConcreteBuilder(具体建造者)
    实现抽象类定义的所有方法,并且返回一个组建好的对象。
  • Product(产品类)
    指具体建造出来的产品。

建造者模式的通用代码如下:
Product:

public class Product{
    public void doSomething(){
        //具体的逻辑
    }
}

Builder:

public abstract class Builder{
    public abstract void setPart();  //设置不同的部分
    public abstract Product buildProduct();  //建造产品
}

ConcreteBuilder:

public class ConcreteBuilder extends Builder{
    private Product product = new Product();

    public void setPart(){
        //产品其他部分具体的配置
    }

    public Product buildProduct(){  //组建产品
        return this.product;
    }
}

Director:

public class Director{
    private Builder builder = new ConcreteBuilder();

    public Product getAProduct(){
        builder.setPart();
        return builder.buildProduct();
    }
}

应用

优点

  • 封装性
    使用建造者模式可以使客户端不必知道产品内部组成的细节。
  • 建造者独立,容易扩展
  • 便于控制细节风险
    因为每一个具体的建造者是独立的,所以当出现差错时不会对其他的模块产生影响。

缺点

  • 容易产生多余的对象和导演类

使用场景

  • 相同的方法,不同的执行顺序,产生不同的事件结果时
  • 产品类非常复杂时
  • 在对象创建过程中会使用到系统中的一些其他对象,这些对象在产品对象的创建过程中不易得到时

相关文章

  • Retrofit

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

  • Android中涉及的模式

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

  • 设计模式之建造者模式

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

  • 设计模式 - 目录

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

  • 设计模式之建造者模式

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

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

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

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

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

  • 设计模式(4) 建造者模式

    什么是建造者模式 经典建造者模式的优缺点 对建造者模式的扩展 什么是建造者模式 建造者模式将一个复杂的对象的构建与...

  • 设计模式(4)| 建造者模式

    定义 建造者模式也叫做生成器模式,其定义如下: Separate the construction of a co...

  • 设计模式(4) : 建造者模式

    定义: 将一个复杂对象的购进啊与它的表示进行分离, 使得同样的构建过程可以创建不同的表示 用户只需要指定需要的类型...

网友评论

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

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