2011년 5월 26일 목요일

Extract Class



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

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

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

댓글 없음:

댓글 쓰기

블록체인 개요 및 오픈소스 동향

블록체인(block chain) 블록체인은 공공 거래장부이며 가상 화폐로 거래할때 발생할때 발생할 수 있는 해킹을 막는 기술. 분산 데이터베이스의 한 형태로, 지속적으로 성장하는 데이터 기록 리스트로서 분산 노드의 운영자에 의한 임의 조작이 불가...