이 글은 이야기's G님의 자바 디자인 패턴 이해를 참조하였습니다.
컴퓨터(computer)를 조립하기 위해 빈 컴퓨터 본체(Builder)를 준비하고 본체 뚜껑을 연 후(.start) 원하는 CPU(.setCPU)와 RAM(.setRAM)을 골라 뚜껑을 닫고(.build) 완성시키는 형태
Computer computer = Builder
.start()
.setCPU("i7")
.setRAM("8g")
.build()
public class Builder
{
private Computer computer;
public Builder()
{
computer = new Computer("default", "default", "default");
}
public static Builder start()
{
return new Builder()
}
public Builder setCPU(String cpu)
{
computer.setCPU(cpu)
return this;
}
public Builder setRAM(String ram)
{
computer.setRAM(ram)
return this;
}
public Computer build() {
return this.computer
}
}
이름 | 내용 | 함수 |
---|---|---|
computer | 최종적으로 얻을 객체 미리 생성 | Computer computer |
Builder() | 객체 변수 초기화 | = Builder |
start() | 초기화한 인스턴스 가져오기 | .start() |
setCPU() | 원하는 cpu값 가져오기 | .setCPU() |
build() | 최종적으로 얻을 객체 가져오기 | build() |