19회 A 선택하기
소프트웨어 공학 선택하기
38. 다음의 Car 클래스의 speedUp 메소드는 NOT_MOVING,MOVING, FAILED 등에 따라서 상이한 동작을 switch문으로 구현하고 있다. 이와 같은 상황에서 적용하기에가장 적합한 리팩토링(refactoring) 기법은?
class Car {
	private int _type;
	public static final int NOT_MOVING = 0;
	public static final int MOVING = 1;
	public static final int FAILED = 2;
	public Car() { _type = NOT_MOVING; }
	public void speedUp() {
		switch ( _type ) {
			case NOT_MOVING: ... break;
			case MOVING: ... break;
			case FAILED: ... break;
			default: ... break;
		}
	}
}
  • 1
     replace parameter with method
  • 2
     replace type code with state/strategy
  • 3
     introduce parameter object
  • 4
     remove control flag

위키 해설 모두가 함께 공부하는 위키해설이란?
문제 풀이
클릭하면 보입니다.
관련 포럼글
자유 댓글

모든 문제들의 저작권은 원저작권자에게 있습니다. 본 사이트는 웹상에 공개되어 있는 문제만 모아서 보여드립니다. 저작권 안내

copyright 2024 뉴비티::새로운 CBT 시스템 - newbt.kr 제휴 문의