2011년 5월 25일 수요일

Run-On Initialization(추가 초기화)

* 패턴이름 : 추가 초기화
* 증상 : 초기화되지 않은 필드에 접근하여 NullPointerException이 발생한다.
* 원인 : 모든 필드가 생성자에서 초기화 되는것이 아니라, 여러번 나눠서 초기화 되기 때문이다.
* 해결책과 예방책 : 모든 필드에 대한 초기화는 모두 생성자로 집중한다. 초기화할 값을 얻기가 힘들면 특별한 클래스를 생성하고
이를 기본 값으로 사용하라. 좀더 나은 값을 받아 들이기 위해서는 여러개의 생성자를 사용하라.
할 일이 너무 많이 고칠 시간이 부족하다면 최소한 inInitializaed()메소드를 사용하라.
잠재적 위험을 줄이는 방법
1. 필드 값들을 null이 아닌 기본 값으로 초기화 한다.
2. 생성자를 추가해 넣는다.
3. 클래스에 isInitialized()메소드를 추가해 넣는다.
4. 기본값을 의미하는 특별한 클래스를 만든다.
5. 예외만 발생하는 메소드를 포함한다.

댓글 없음:

댓글 쓰기

ETL 솔루션 환경

ETL 솔루션 환경 하둡은 대용량 데이터를 값싸고 빠르게 분석할 수 있는 길을 만들어줬다. 통계분석 엔진인 “R”역시 하둡 못지 않게 관심을 받고 있다. 빅데이터 역시 데이터라는 점을 볼때 분산처리와 분석 그 이전에 데이터 품질 등 데이...