1. 程式人生 > >建造者模式詳解

建造者模式詳解

style compute oar get build 過程 void ram string

定義:將一個復雜的構建與他的表示分離,使得同樣的構建過程可以創建不同的表示.

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

建造者模式詳解