디자인 모델 의 건설 자 모델 간단명료 예시
응용 실례
자바 에서 건축 자 모델 은 흔히 볼 수 있 는 디자인 모델 로 StringBuilder 와 okhttp 3. Request 는 모두 건축 자 모델 을 응용 했다.
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("http://www.baidu.com")
.build();
이루어지다
우 리 는 Human 류 의 건설 자 모델 을 실현 할 것 이다.
우선 Human 클래스 만 들 기
public class Human {
private String name;
private int age;
private int weight;
private int height;
//-----------Setter and Getter--------------------
public String getName() { return name; }
public void setName(String name) { this.name = name; }
public int getAge() { return age; }
public void setAge(int age) { this.age = age; }
public int getWeight() { return weight; }
public void setWeight(int weight) { this.weight = weight; }
public int getHeight() { return height; }
public void setHeight(int height) { this.height = height; }
//-----------Setter and Getter--------------------
@Override
public String toString(){
return getName() + " " + getAge() +
" " + getWeight() + " " +getHeight();
}
}
빌 더 인터페이스 만 들 기
public interface Builder {
Builder setAge(int age);
Builder setName(String name);
Builder setWeight(int weight);
Builder setHeight(int height);
Human build();
}
ConcreteBuilder 클래스 를 만 듭 니 다. 이 클래스 를 사용 하면 Human 대상 을 구축 할 수 있 습 니 다.
public class ConcreteBuilder implements Builder {
private Human human;
@Override
public Builder setAge(int age) {
this.human.setAge(age);
return this;
}
@Override
public Builder setName(String name) {
this.human.setName(name);
return this;
}
@Override
public Builder setWeight(int weight) {
this.human.setWeight(weight);
return this;
}
@Override
public Builder setHeight(int height) {
this.human.setHeight(height);
return this;
}
@Override
public Human build() {
return this.human;
}
public ConcreteBuilder(){
this.human = new Human();
}
}
데모 사용
public class BuilderDemo {
public static void main(String[] args){
Human human = new ConcreteBuilder()
.setAge(21)
.setName("Amos")
.setHeight(176)
.setWeight(130)
.build();
System.out.println(human);
}
}
출력:
Amos 21 130 176
자바 구덩이 매 뉴 얼.지식 을 나 누고 함께 진보 하 다.어서 오 세 요
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JPA + QueryDSL 계층형 댓글, 대댓글 구현(2)이번엔 전편에 이어서 계층형 댓글, 대댓글을 다시 리팩토링해볼 예정이다. 이전 게시글에서는 계층형 댓글, 대댓글을 구현은 되었지만 N+1 문제가 있었다. 이번에는 그 N+1 문제를 해결해 볼 것이다. 위의 로직은 이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.