Closed mysterin closed 5 years ago
以组装电脑为例:
public clss Computer { private String mainBoard; private String cpu; private String memory; private String hardDisk; // set/get }
public interface Builder { Builder mainBoard(String mainBoard); Builder cpu(String cpu); Builder memory(String memory); Builder hardDisk(String hardDisk); Computer build(); }
public class ComputerBuilder implements Builder { private Computer computer = new Computer(); public Builder mainBoard(String mainBoard) { computer.setMainBoard(mainBoard); return this; } public Builder cpu(String cpu) { computer.setCpu(cpu); return this; } public Builder memory(String memory) { computer.setMemory(memory); return this; } public Builder hardDisk(String hardDisk) { computer.setHardDisk(hardDisk); return this; } public Computer build() { return computer; } }
public static void main(String[] args) { Builder builder = new ComputerBuilder(); Computer computer = builder.mainBoard("技嘉主板").cpu("i7").memory("16G").hardDisk("1T").build(); }
角色
产品类
以组装电脑为例:
抽象建造者
具体建造者
使用