빌더 패턴빌더 패턴(Builder Pattern)
빌더 패턴이란 동일한 생성 절차에서 생성 과정과 표현 방법을 분리하여 서로 다른 결과를 만들게 하는 패턴이다.
빌더 패턴이 중요한 이유:
번거로운 생성자 정의(생성 인자가 많을 때 )
생성자가 많을 때 아래 코드처럼 사용할 생성자를 전부 다 만들어야 한다. 또한 인자 순서(?)도 신경써서 작성해야 한다.
public class Computer{
private String user;
private String cpu;
private String ram;
public Computer(String user){
this.user =user;
}
public Computer(String user,String cpu){
this.user = user;
this.cpu = cpu;
}
public Computer(String user,String cpu,String ram){
this.user =user;
this.cpu = cpu;
this.ram = ram;
}
}
빌더 패턴 : builder.set()으로 원하는 인자나 순서 상관없이 입력가능하다.
(순서 : user - ram -cpu 로 반드시 선언할 필요가 없다)
(인자 : user값을 안 넣어도 되고 ram,cpu만 넣어도 된다)
>>생성자로 하게되면 해당 생성 인자에 default값을 넣거나 따로 생성자를 만들어야 함!
생성자를 만드는 것이 아니라 빌더로 따로 정의해서 가독성이 좋아진다.
public static class Builder {
private String user;
private String cpu;
private String ram;
public Builder setUser(String user){
this.user = user;
return this;
}
public Builder setCpu(String cpu{
this.cpu = cpu;
return this;
}
public Builder setRam(String ram{
this.ram= ram;
return this;
}
public Builder build(){
return new Builder(user,cpu,ram);
}
}
public class BuilderPattern{
public static void main(String []args){
Builder builder = new Builder();
Computer computer= builder
.setUser("senungwon")
.setRam("8g")
.setCpu("256g ssd")
.build();
}
}
'대외 활동 > CADI(개발A 보충스터디)' 카테고리의 다른 글
CustomListView-2 (ViewHolder사용하기) (0) | 2020.10.27 |
---|---|
CustomListView - 1(java) (0) | 2020.10.27 |
java 접근 제어자(private,protected,default,public) (0) | 2020.09.14 |
안드로이드 intent 란 무엇인가? (0) | 2020.09.10 |
Git Bash 설치 및 Git 주요 명령어 정리 (0) | 2020.09.08 |