bean-friendly 클래스를 작성하고 싶습니다. (주로 bean을 사용하는) 경향을 관찰하여 필요한 매개 변수를 생성자에서 setter로 이동합니다 (초기 상태 설정을 마치면 init()
메서드 사용).약한 요구 사항 : 개체가 초기화되었는지 확인하는 방법
이 메소드는 자바 객체처럼 bean 인프라 없이도 클래스를 사용할 수 있기를 바란다. 상상할 수있는 것처럼, 모든 메서드에서 객체의 적절한 상태를 확인해야합니다. 어설 트 스타일. 위의 대한
빠른 데모 :
class A {
public int x;
public int y;
private int sum;
private boolean initialized = false;
public void init() {
sum = x + y;
initialized = true;
}
private void initCheck() {
if (!initialized) {
throw new IllegalStateException("Uninitialized object.");
}
}
public int getXMulSum() {
initCheck();
return x * sum;
}
public int getYMulSum() {
initCheck();
return y * sum;
}
}
더 좋은 연습이 있습니까? 당신이 프레임 워크를 사용하지 않는 점을 감안
왜 '생성자'를 사용하지 않습니까? –
@RongNguyen 방금 콩을 사용하여 사람들이이 메소드 (생성자 대신 setter)를 사용하는 추세를 보았습니다. 그것이 시각적으로 만족스러운 XML 구성이되기 때문에 내 추측이 될 것입니다.;) – vbence
'PostConstruct'를 시도해 봤나 :-) –