2011년 5월 26일 목요일

Replace Type Code with Class



클래스의 동작에 영향을 미치지 않는 숫자로 된 타입코드가 있으면 숫자를 클래스로 바꾸어라.

! 동기
  • 타입 코드가 순수한 데이터일 때에만 타입 코드를 클래스로 바꿀수 있다. 즉 타입 코드가 switcha 문에 사용되어 다른 동작을 유발 하거나 하면 안된다.

! 절차
  • 타입 코드를 위한 새로운 클래스를 만든다.
  • 소스 클래스에서 새로 만든 클래스를 사용하도록 구현을 수정한다.
  • 소스 클래스에서 코드를 사용하는 각각의 메소드에 대해, 새로만든 클래스를 사용하는 새로운 메소드를 만든다.
  • 소스 클래스의 클라이언트 코드를 하나씩 수정하여 새로운 인터페이스를 사용하도록 한다.
  • 코드를 사용하는 기존의 인터페이스와 코드에 대한 static 변수 선언을 제거한다.

! 관련 리팩토링
  • Conditional with Polymorphism
  • Replace Type Code with Subclasses
  • Replace Type Code with State/Strategy
  • Move Method

댓글 없음:

댓글 쓰기

ETL 솔루션 환경

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