码迷,mamicode.com
首页 > 其他好文 > 详细

建造者模式详解

时间:2019-01-15 20:32:37      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:new   vat   分离   create   static   tcp   turn   ring   com   

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

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();
    }
}

 

建造者模式详解

标签:new   vat   分离   create   static   tcp   turn   ring   com   

原文地址:https://www.cnblogs.com/sharkchao/p/10274046.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!