建造者模式

1、建造者模式的定义
将复杂对象的构建和表示分离开,使得相同的构建顺序可以实现不同的表示
2、建造者模式的实现要点
3、应用场景
多个部件或零件,都可以装配到一个对象中(某个类的构造函数入参多于3个,且包含可选参数)
相同的方法,不同的执行顺序,会产生不同的结果
4、实现举例

public class Computer {
    private String cpu;
    private String ram;
    private String mouse;//可选
    private String keyboard;//可选
    private String display;//可选

    private Computer(Builder builder){
        this.cpu = builder.cpu;
        this.ram = builder.ram;
        this.mouse = builder.mouse;
        this.keyboard = builder.keyboard;
        this.display = builder.display;
    }

    public static class Builder{
        private String cpu;
        private String ram;
        private String mouse;//可选
        private String keyboard;//可选
        private String display;//可选

        public Builder(String cpu,String ram){
            this.cpu = cpu;
            this.ram = ram;
        }

        public Builder setMouse(String mouse) {
            this.mouse = mouse;
            return this;
        }
        public Builder setKeyboard(String keyboard){
            this.keyboard = keyboard;
            return this;
        }
        public Builder setDisplay(String display){
            this.display = display;
            return this;
        }

        public Computer build(){
            return new Computer(this);
        }
    }

    public static void main(String[] args) {
        Computer computer = new Computer.Builder("intel", "samsung")
                .setMouse("logic")
                .setKeyboard("logical")
                .setDisplay("Lenovo")
                .build();
    }
}

代码出处:https://zhuanlan.zhihu.com/p/58093669

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容