이것은 json 객체로부터 파싱 된 간단한 bean의 구현물이다. 이것은 좋은 디자인인가, 특히 json 구문 분석 로직을 빈 생성자에 넣는 것입니다. OOP 원칙이 위반 되었습니까? 별도의 빌더에서 json 구문 분석 논리 (키 이름을 사용하는 두 번째 생성자)를 사용하는 것이 더 좋은 설계입니까? 아니면 정적 내부 클래스에있을 수 있습니까? 당신의 생각은 무엇입니까?간단한 콩을위한 자바 클래스 디자인
class SomeBean{
private String firstName;
private String lastName;
public SomeBean(JSONObject json){
this.setFields(json, "firstName", "lastName");
}
public SomeBean(JSONObject json, String firstNameKey, String lastNameKey){
this.setFields(json, firstNameKey, lastNameKey);
}
private void setFields(JSONObject json, Sting firstNameKey, String lastNameKey){
this.firstName = json.get(firstNameKey);
this.lastName = json.get(lastNameKey);
}
public String getFirstName(){
return this.firstName;
}
public String getLastName(){
return this.lastName;
}
}
필자는 개인적으로 처음 성과 이름에 대한 게터를 제공하는 인터페이스로 시작합니다. 거기에서 아마도 입력을 기반으로 구현을 생성하기 위해 일종의 공장/빌더를 사용할 것입니다. 이는 구현을 세대에서 분리합니다. 하지만 그게 내거야 – MadProgrammer
개인적으로 JSON 구문 분석 논리를'POJO' 빈 내에 두는 것을 선호하지 않습니다. –