대상의build 모드 만들기
: , field , field , ?
1. 중첩구조기
반드시field의 구조기로 파라미터를 제공한 다음에 선택할 수 있는 파라미터가 점차적으로 증가하는 구조기를 제공합니다
: ,
2. 자바빈스 모드
파라미터가 있는 구조기를 제공하지 않습니다.field에 대해서setter () 설정만 합니다.
: , setter() field ,
3. Build 모드
예:
public class Blog {
private final String title;
private final String abstract;
private final String content;
private final String optional1;
private final String optional2;
private Blog (Build build) {
title = build.title;
abstract = build.abstract;
content = build.content;
optional1 = build.optional1;
optional2 = build.optional2;
}
public static class Builder {
private final String title;
private final String abstract;
private final String content;
private final String optional1;
private final String optional2;
public Builder(String title, String abstract, String content) {
this.title = title;
this.abstract = abstract;
this.content = content;
}
public Builder optional1 (String optional1) {
this.optional1 = optional1;
}
public Builder optional2 (String optional2) {
this.optional2 = optional2;
}
public Blog build() {
return new Blog(this);
}
}
}
class Client {
public static void main (String[] args) {
Blog blog = newBlog.Builder("title", "abstract", "content").optional1("optional1").optional2("optional2").build();
}
}
장점: 뚜렷하고 이해하기 쉬우며 대상을 구성한 후 상태가 변할 수 없고 통제하기 쉽다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.