美文网首页
创建型-建造者模式(一般模式)

创建型-建造者模式(一般模式)

作者: 程序男保姆 | 来源:发表于2020-04-23 14:35 被阅读0次
    • 定义
    将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。
    • 优点

    1、建造者独立,易扩展。 2、便于控制细节风险。

    • 缺点

    1、产品必须有共同点,范围有限制。 2、如内部变化复杂,会有很多的建造类。

    • 使用场景

    1、需要生成的对象具有复杂的内部结构。 2、需要生成的对象内部属性本身相互依赖。

    • 注意事项

    与工厂模式的区别是:建造者模式更加关注与零件装配的顺序。

    类图

    image.png image.png
    
    /***
     * 产品类 电脑
     *
     */
    public class Computer {
    
        /**显示器*/
        private String monitor;
    
        /**cpu*/
        private String cpu;
    
    
        public String getMonitor() {
            return monitor;
        }
    
        public void setMonitor(String monitor) {
            this.monitor = monitor;
        }
    
        public String getCpu() {
            return cpu;
        }
    
        public void setCpu(String cpu) {
            this.cpu = cpu;
        }
    
        @Override
        public String toString() {
            return "Cpmputer{" +
                    "monitor='" + monitor + '\'' +
                    ", cpu='" + cpu + '\'' +
                    '}';
        }
    }
    
    

    public abstract class AbstractComputerBuilder {
    
        public abstract void setMonitor(String monitor) ;
    
        public abstract void setCpu(String cpu) ;
    
        public abstract Computer build();
    
    }
    
    

    
    public class ComputerBuilderXW extends AbstractComputerBuilder {
    
        Computer computer = new Computer();
    
        @Override
        public void setMonitor(String monitor) {
            computer.setMonitor(monitor);
        }
    
        @Override
        public void setCpu(String cpu) {
            computer.setCpu(cpu);
        }
    
        @Override
        public Computer build() {
            return computer;
        }
    }
    
    

    
    public class Director {
       private AbstractComputerBuilder a;
    
        public void setA(AbstractComputerBuilder a) {
            this.a = a;
        }
    
        public Computer create(){
            a.setCpu("cpu");
            a.setMonitor("显示器");
            return a.build();
    
        }
    
    }
    
    

    相关文章

      网友评论

          本文标题:创建型-建造者模式(一般模式)

          本文链接:https://www.haomeiwen.com/subject/secaihtx.html