美文网首页
建造者模式(Builder)

建造者模式(Builder)

作者: HiLeo | 来源:发表于2019-01-02 23:20 被阅读7次

使用场景:如果一个类的构造需要很多参数,但这些参数又不都是必须的。

Android开发中经常使用的例子

new AlertDialog.Builder(this)
   .setTitle("Design Patterns")
   .setMessage("Builder is awesome")
   .create();

实践

  1. 假如一个User类定义如下
public class User {
   private String firstName;
   private String lastName;
   private int age;
}
  1. 若想使用如下方法构建
new User.Builder()
   .setFirstName("Leonardo")
   .setLastName("da Vinci")
   .setAge(67)
   .create();
  1. 内部构建一个Builder类
static class Builder {
   private String firstName;
   private String lastName;
   private int age;
 
   public Builder setFirstName(final String firstName) {
      this.firstName = firstName;
      return this;
   }
 
   public Builder setLastName(final String lastName) {
      this.lastName = lastName;
      return this;
   }
 
   public Builder setAge(final int age) {
      this.age = age;
      return this;
   }
 
   public User create() {
      return new User(this);
   }
}

  1. User类修改为
public class User {
   private String firstName;
   private String lastName;
   private int age;
 
   private User(final Builder builder) {
        firstName = builder.firstName;
        lastName = builder.lastName;
        age = builder.age;
   }
}

参考

相关文章

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

    建造者模式(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/kmcxrqtx.html