2011년 5월 26일 목요일

Extract Class



두 개의 클래스가 해야 할 일을 하나의 클래스가 하고 있는 겨우 새로운 클래스를 만들어서 관련 있는 필드와 메소드를 예전 클래스에서 새로운 클래스로 옮겨라
! 동기
  • 데이터의 부분 집합과 메소드의 부분 집합이 같이 몰려다니는 것은 별도의 클래스로 분리할 수 있다는 좋은 신호이다.
  • 보통 같이 변하거나 특별히 서로에게 의존적인 데이터의 부분 집합 또는 별도의 클래스로 분리할 수 있다는 좋은 신호이다.

! 절차
  • 클래스의 책임을 어떻게 나눌지 결정하라.
  • 분리된 책임을 떠맡을 새로운 클래스를 만든다.
  • 이전 클래스에서 새로 만든 클래스에 대한 링크를 만든다.
  • 옮기고자 하는 각각의 필드에 대해 Move Field를 사용한다.
  • 각각의 필드를 옮길 때마다 컴파일, 테스트 한다.
  • Move Method를 사용해서 이전 클래스에서 새로 만든 클래스로 메소드를 옮긴다. 저수준 메소드부터 시작해서 점점 고수준의 메소드에 적용한다.
  • 각각의 메소드를 옮길 때마다 컴파일, 테스트 한다.
  • 각 클래스를 검토하고, 인터페이스를 줄인다.

! 관련 리팩토링
  • Move Field
  • Move Method

댓글 없음:

댓글 쓰기

ETL 솔루션 환경

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