더북(TheBook)

예제 1을 위한 리팩토링 제안

예제는 ISBN-10이나 ISBN-13과 같이 다양한 ISBN 번호를 다룰 필요성을 논한다. 잠재적인 리팩토링 후보로 내부에 공통 연산을 담은 추상 클래스나 인터페이스로 ISBN을 추상화하는 방식이 있다. ISBN-10과 ISBN-13은 ISBN 상위 타입을 확장한 하위 클래스가 될 수 있다(그림 3.4 참조).

 

▲ 그림 3.4 ISBN 예제를 위한 리팩토링 제안(예제 1)

 

예제 2를 위한 리팩토링 제안

그리기 애플리케이션의 예를 다시 살펴보자. 필요한 필드를 새로운 클래스(예 : Rectangle 클래스 또는 SelectedRegion 클래스)로 추상화하고, 이 필드를 사용하여 동작하는 메서드를 새로운 클래스로 옮기는 리팩토링 방식을 제안한다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.