自由扩展的模式-Builder模式

一.Builder模式介绍

Builder模式是一步一步创建一个复杂对象的创建型模式,它允许用户在不知道内部构建细节的情况下,可以更精细的控制对象的构造流程。

二.Builder模式的定义

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

三.Builder模式的使用场景

(1)相同的方法,不同的执行顺序,产生不同的事件结果。
(2)多个部件或零件,都可以装配到一个对象中,但是产生的运行结果又不同时。
(3)产品类很复杂,或者产品类中的调用顺序不同产生不同的作用。
(4)当初始化一个对象特别复杂,参数很多。

四.示例

public class Person {
    
    
    private String name;
    private int age;
    private String sex;

    public Person(String name, int age, String sex) {
    
    
        this.name = name;
        this.age = age;
        this.sex = sex;
    }

    @Override
    public String toString() {
    
    
        return "Person{" +
                "name='" + name + '\'' +
                ", age=" + age +
                ", sex='" + sex + '\'' +
                '}';
    }
}
public class Builder {
    
    
    private String name;
    private int age;
    private String sex;

    public Builder setName(String name) {
    
    
        this.name = name;
        return this;
    }

    public Builder setAge(int age) {
    
    
        this.age = age;
        return this;
    }

    public Builder setSex(String sex) {
    
    
        this.sex = sex;
        return this;
    }

    public Person build(){
    
    
        return new Person(name,age,sex);
    }
}
public class MainActivity extends AppCompatActivity {
    
    

    private static final String TAG = "MainActivity";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    
    
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Person person = new Builder().setName("张三").setAge(18).setSex("男").build();
        Log.d(TAG, "onCreate: "+person.toString());
    }
}

五.总结

bulider模式在Android开发中较为常用,主要通过调用链实现,这样可以使得代码更简洁,易懂。

猜你喜欢

转载自blog.csdn.net/m0_48440239/article/details/115026220