Builder模式

定义

将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。

使用场景

  • 对象参数多,且很多参数有默认值
  • 产品类中,调用顺序不同产生了不同的作用
  • 多个部位、零件装配到对象中,产生的结果又不同
  • 不同的执行顺序,产生不同的结果

Android模式下的Builder模式

源码中常用到Builder模式的是AlertDialog.Builder。

例子:

//工厂函数

public class FactoryManager{

private int p1;

private int p2;

FactoryManager(int p1, int p2){

    this.p1 = p1;

    this.p2 = p2;

};

public static FactoryManagerBuilder builder(){

    return FactoryManagerBuilder();

}

//todo:具体功能函数
public void func1(){

    ....

}

}

//构造工厂类

public class FactoryManagerBuilder{

private int p1;

private int p2;

FactoryManagerBuilder(){

}

public static FactoryManagerBuilder setP1(int p1){

     this.p1 = p1;

    return this;

}



public static FactoryManagerBuilder setP2(int p2){

     this.p2 = p2;

    return this;

}



public static FactoryManager build(){

    return new FactoryManager(p1,p2);

}

}

//链式调用

FactoryManager.builder()

.setP1(1)

.setP2(2)

.build();

你可能感兴趣的:(Builder模式)