android 디자인 모드 의 build 모드
public class Person
{
private final String lastName;
private final String firstName;
private final String middleName;
private final String salutation;
private final String suffix;
private final String streetAddress;
private final String city;
private final String state;
private final boolean isFemale;
private final boolean isEmployed;
private final boolean isHomewOwner;
public Person(
final String newLastName,
final String newFirstName,
final String newMiddleName,
final String newSalutation,
final String newSuffix,
final String newStreetAddress,
final String newCity,
final String newState,
final boolean newIsFemale,
final boolean newIsEmployed,
final boolean newIsHomeOwner)
{
this.lastName = newLastName;
this.firstName = newFirstName;
this.middleName = newMiddleName;
this.salutation = newSalutation;
this.suffix = newSuffix;
this.streetAddress = newStreetAddress;
this.city = newCity;
this.state = newState;
this.isFemale = newIsFemale;
this.isEmployed = newIsEmployed;
this.isHomewOwner = newIsHomeOwner;
}
}
이 persion 클래스 를 보면 build 모드 를 사용 하지 않 습 니 다. 대상 을 만 들 려 면 구조 함 수 를 통 해 파 라 메 터 를 순서대로 입력 할 수 있 습 니 다.그러나 이런 매개 변수 가 너무 많은 경우 에는 읽 기 가 어렵다.그리고 만약 에 일부 매개 변수 가 선택 할 수 있 을 때 우 리 는 이 종 류 를 위해 여러 개의 구조 함 수 를 만들어 야 한다.그리고 build 모드 를 사용 한 후:
public class Person
{
private final String lastName;
private final String firstName;
private final String middleName;
private final String salutation;
private final String suffix;
private final String streetAddress;
private final String city;
private final String state;
private final boolean isFemale;
private final boolean isEmployed;
private final boolean isHomewOwner;
public Person(
final String newLastName,
final String newFirstName,
final String newMiddleName,
final String newSalutation,
final String newSuffix,
final String newStreetAddress,
final String newCity,
final String newState,
final boolean newIsFemale,
final boolean newIsEmployed,
final boolean newIsHomeOwner)
{
this.lastName = newLastName;
this.firstName = newFirstName;
this.middleName = newMiddleName;
this.salutation = newSalutation;
this.suffix = newSuffix;
this.streetAddress = newStreetAddress;
this.city = newCity;
this.state = newState;
this.isFemale = newIsFemale;
this.isEmployed = newIsEmployed;
this.isHomewOwner = newIsHomeOwner;
}
public static class PersonBuilder
{
private String nestedLastName;
private String nestedFirstName;
private String nestedMiddleName;
private String nestedSalutation;
private String nestedSuffix;
private String nestedStreetAddress;
private String nestedCity;
private String nestedState;
private boolean nestedIsFemale;
private boolean nestedIsEmployed;
private boolean nestedIsHomeOwner;
public PersonBuilder(
final String newFirstName,
final String newCity,
final String newState)
{
this.nestedFirstName = newFirstName;
this.nestedCity = newCity;
this.nestedState = newState;
}
public PersonBuilder lastName(String newLastName)
{
this.nestedLastName = newLastName;
return this;
}
public PersonBuilder firstName(String newFirstName)
{
this.nestedFirstName = newFirstName;
return this;
}
public PersonBuilder middleName(String newMiddleName)
{
this.nestedMiddleName = newMiddleName;
return this;
}
public PersonBuilder salutation(String newSalutation)
{
this.nestedSalutation = newSalutation;
return this;
}
public PersonBuilder suffix(String newSuffix)
{
this.nestedSuffix = newSuffix;
return this;
}
public PersonBuilder streetAddress(String newStreetAddress)
{
this.nestedStreetAddress = newStreetAddress;
return this;
}
public PersonBuilder city(String newCity)
{
this.nestedCity = newCity;
return this;
}
public PersonBuilder state(String newState)
{
this.nestedState = newState;
return this;
}
public PersonBuilder isFemale(boolean newIsFemale)
{
this.nestedIsFemale = newIsFemale;
return this;
}
public PersonBuilder isEmployed(boolean newIsEmployed)
{
this.nestedIsEmployed = newIsEmployed;
return this;
}
public PersonBuilder isHomeOwner(boolean newIsHomeOwner)
{
this.nestedIsHomeOwner = newIsHomeOwner;
return this;
}
public Person createPerson()
{
return new Person(
nestedLastName, nestedFirstName, nestedMiddleName,
nestedSalutation, nestedSuffix,
nestedStreetAddress, nestedCity, nestedState,
nestedIsFemale, nestedIsEmployed, nestedIsHomeOwner);
}
}
}
모든 방법 뒤에 this 가 return 되 어 있 습 니 다. 이렇게 하면 체인 호출 이 가능 합 니 다. 우리 가 dialog 를 사용 할 때 와 마찬가지 로 new Person. Person Builder (..). set (). createPerson (). 여기까지 왜 이렇게 많은 행동 이 필요 한 지, 왜 Person 에 set 방법 을 직접 추가 하지 않 았 는 지 의문 입 니 다.javabean 의 쓰기 방법 으로 new 대상 을 먼저 사용 한 다음 set 방법 으로 속성 을 설정 하면 이 대상 의 불확실 성 을 초래 하여 대상 의 통일 성 을 보장 할 수 없습니다.후기 임의로 set 수정 가능.그러나 build 모드 의 사용 은 반드시 코드 와 클래스 의 수량 을 증가 시 킬 것 입 니 다. 구체 적 으로 build 모드 를 사용 하 는 지 실제 상황 에 따라 봐 야 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Android 개발 에 사용 되 는 MT 난수 생 성기이전의 AS3 이식 판 을 약간 고 쳐 서 현재 jkanji 에 사용 하고 있 습 니 다.테스트 를 좀 해 봤 는데 버그 가 별로 없 는 것 같 아 요.가장 간단 한 동전 테스트 를 해 봤 는데 같은 씨앗 의 경우 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.