GOF의 디자인패턴 분류
⇒ 나중에 공부해. 어려움
역할 모델기준으로 무슨패턴을 쓸지 결정
⇒ 흔한 이유 ⇒ 대부분 통제불가요소
기존 제어문 기반의 알고리즘이 갖는 문제 ⇒ “수정하면 전체가 컴파일 됨”
목표: 알고리즘이 변화한 부분만 수정하고 나머지는 건드리고 싶지 않아
if(case == 1) {
...
}else if(case == 2) {
...
}else if(case == 3) {
...
}
if는 제거할 수 없다.
if(case == 1) {
case1();
}else if(case == 2) {
case2();
}else if(case == 3) {
case3();
}
case와 case처리기 분리