设计模式Builder模式——java设计模式——建造者模式

之前写了一个建造者模式的文章,发现自己看一眼没看懂,汗。。。写的好low。决定重新写个一看就明白的,好了直接上代码,要使用可以直接套格式:

建造者模式类


/**
 * 
 * 建造者模式
 * 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
 * */
public class BuilderPattern {
    private String language;
    private String name;
    public BuilderPattern(Builder builder){
        this.language = builder.language;
        this.name = builder.name;
    }

    //方法逻辑
    public void showInfo() {
        System.out.println("name:"+name);
        System.out.println("language:"+language);
    }

    //Builder 建造者
    public static class Builder{
        private String language = "";
        private String name = "";

        public Builder(){
        }

        //每次设置参数返回自己方便之后继续设置参数
        public Builder setLanguage(String language){
            this.language = language;
            return this;
        }
        //每次设置参数返回自己方便之后继续设置参数
        public Builder setName(String name){
            this.name = name;
            return this;
        }

        //创建BuilderPattern实例
        public BuilderPattern create(){
            return new BuilderPattern(this);
        }
    }
}

Client类



public class Client {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        //使用BuilderPattern
        new BuilderPattern.Builder().setLanguage("c++").create().showInfo();
        new BuilderPattern.Builder().setName("java").setName("BuilderPattern").create().showInfo();
    }

}

不明白运行一下就明白了

猜你喜欢

转载自blog.csdn.net/yanwenyuan0304/article/details/71252415