java建造者模式(builder)

建造者模式(Builder)用以自由構建對象,主要功能就是代替對象的構造函數,更加自由化。

案例:

/**
 * @author Gjing
 **/
class Custom {
    private Integer age;
    private String name;
    private String address;

    static Custom.Builder builder(){
        return new Custom.Builder();
    }

    private Custom(Builder builder) {
        this.age = builder.age;
        this.name = builder.name;
        this.address = builder.address;
    }

    @Override
    public String toString() {
        return "Custom{" +
                "age=" + age +
                ", name='" + name + '\'' +
                ", address='" + address + '\'' +
                '}';
    }

    public static class Builder {
        private Integer age;
        private String name;
        private String address;

        Builder() {
        }

        Builder age(Integer age) {
            this.age = age;
            return this;
        }

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

        Builder address(String address) {
            this.address = address;
            return this;
        }

        Custom build() {
            return new Custom(this);
        }
    }
}

使用:

/**
 * @author Gjing
 **/
public class Test {
    public static void main(String[] args) {
        Custom custom = Custom.builder().age(11).address("廈門市").build();
        System.out.println(custom.toString());
    }
}

以上爲個人理解,有錯誤的地方歡迎各位指正

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章