美文网首页Android设计模式
Builder 建造者模式

Builder 建造者模式

作者: Charles1993 | 来源:发表于2019-12-07 19:18 被阅读0次

设计原则学习笔记
设计模式学习笔记

作用

将一个类的实例化过程和这个类本身解耦。
假设一个对象是十几个属性,给每个属性搞一个set方法本身成本很高,假设我们不允许其反复设置属性,set方法更不合适。如果在构造函数初始化这些属性(假设有缺省值),由于有相同类型的属性,所以不方便做重载,而且不同属性的组合更令人头大,如果在一个构造方法中传入全部全部属性,显然也不是一个好的设计。这时通过Builder模式可以很好的解决这些问题。

类图

建造者模式

Builder 实现每一步如何建造产品
Director 用来规划要按什么顺序实现哪些步骤

Java实现

// 产品类
public class Product {
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    private String name;
}

// Builder及其实现
public abstract class Builder {
    protected String name;

    public abstract void buildPart();
    public abstract Product build();
}

public class ConcreteBuilder extends Builder {
    public Product build(){
        Product result = new Product();
        result.setName(name);
        return result;
    }

    @Override
    public void buildPart() {
        this.name = "Product";
    }
}

// Director类
public class Director {
    private Builder builder;
    public Director(Builder builder) {
        this.builder = builder;
    }
    public void direct() {
        builder.buildPart();
    }
}

// 客户端
public class Client {
    public static void main(String[] args) {
        Builder builder = new ConcreteBuilder();
        Director director = new Director(builder);
        director.direct();
        Product product = builder.build();
        System.out.println(product.getName());
    }
}

其中Builder类经常被写作产品类的静态内部类,Director类经常被省略,其逻辑写入到了客户端。

Android源码中的应用

  • Notification
  • AlertDialog

相关文章

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

    建造者模式(Builder Pattern) 建造者模式(Builder Pattern)将一个复杂的构建与其表示...

  • 建造者模式

    建造者模式 创建型模式 Director、Builder、Product建造模型 Builder负责构建Produ...

  • 设计模式之建造者模式

    建造者模式的定义   建造者模式(Builder Pattern)也叫做生成器模式,其定义如下:  Separat...

  • Builder pattern

    Builder pattern 这里所介绍的建造者模式不是GOF中介绍的建造者模式。GOF中的建造者模式主要用于抽...

  • 建造者模式

    建造者模式的定义 建造者模式(Builder Pattern)也叫做生成器模式,其定义如下:Separate th...

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

    目录 本文的结构如下: 引言 什么是建造者模式 模式的结构 典型代码 代码示例 Builder模式变种 建造者模式...

  • Android 中的建造者模式

    Android 中的建造者模式 概述 建造者模式(Builder Pattern)也叫生成器模式,其定义如下:se...

  • 设计模式-构建者模式

    概念 建造者模式(英:Builder Pattern)是一种创建型设计模式,又名:生成器模式。GOF 给建造者模式...

  • 建造者模式-Builder(建造者)

    前言 在软件开发过程中有时需要创建一个复杂的对象,这个复杂对象通常由多个子部件按一定的步骤组合而成。例如,计算机是...

  • 五 建造者模式

    本文主要介绍创建型模式的最后一种————建造者模式。 概念 建造者模式(英:Builder Pattern)是一种...

网友评论

    本文标题:Builder 建造者模式

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