zoukankan      html  css  js  c++  java
  • 建造者模式详解

    定义:将一个复杂的构建与他的表示分离,使得同样的构建过程可以创建不同的表示.

    public class Computer {
        private String cpu;
        private String mainBoard;
        private String ram;
    
        public String getCpu() {
            return cpu;
        }
    
        public void setCpu(String cpu) {
            this.cpu = cpu;
        }
    
        public String getMainBoard() {
            return mainBoard;
        }
    
        public void setMainBoard(String mainBoard) {
            this.mainBoard = mainBoard;
        }
    
        public String getRam() {
            return ram;
        }
    
        public void setRam(String ram) {
            this.ram = ram;
        }
    
        public static class  Builder{
            private String cpu;
            private String mainBoard;
            private String ram;
    
            public String getCpu() {
                return cpu;
            }
    
            public Builder setCpu(String cpu) {
                this.cpu = cpu;
                return this;
            }
    
            public String getMainBoard() {
                return mainBoard;
            }
    
            public Builder setMainBoard(String mainBoard) {
                this.mainBoard = mainBoard;
                return this;
            }
    
            public String getRam() {
                return ram;
            }
    
            public Builder setRam(String ram) {
                this.ram = ram;
                return this;
            }
    
            public Computer create(){
                Computer computer = new Computer();
                computer.setRam(ram);
                computer.setMainBoard(mainBoard);
                computer.setCpu(cpu);
                return computer;
            }
        }
    }

    将computer的构建都放在builder中去构建。

    Test:

    public class Test {
        public static void main(String[]args){
    
            Computer computer = new Computer.Builder()
                    .setCpu("cpu")
                    .setMainBoard("mainborad")
                    .setRam("ram")
                    .create();
        }
    }
  • 相关阅读:
    Codeforces Round 546 (Div. 2)
    Codeforces Round 545 (Div. 2)
    Codeforces Round 544(Div. 3)
    牛客小白月赛12
    Codeforces Round 261(Div. 2)
    Codeforces Round 260(Div. 2)
    Codeforces Round 259(Div. 2)
    Codeforces Round 258(Div. 2)
    Codeforces Round 257 (Div. 2)
    《A First Course in Probability》-chaper5-连续型随机变量-随机变量函数的分布
  • 原文地址:https://www.cnblogs.com/sharkchao/p/10274046.html
Copyright © 2011-2022 走看看