Spring에서 자주 쓰이는 디자인 패턴 2
starryeye:
지난 포스팅에서는 템플릿 메서드 패턴에 대해 알아봤다. 이번엔 전략 패턴에 대해 알아보자. (이를 템플릿 콜백 패턴이라 부르기도 한다.) 전략 패턴을 템플릿 메서드 패턴과 비교하여 알아보자. 공통점은, 변하는 부분과 변하지 않는 부분을 분리 하는데 초점이 맞춰져있다는 것에 있다. 차이점은.. 분리할때 상속이 아닌 위임으로 문제를 해결한다. 클래스 다이어그램으로 알아보자.. Client는 Context라는 클래스를 참조한다. Context는 Strategy라는 인터페이스를 참조한다. Context는 Strategy를 필드로 가지고 있다. (의존관계 주입) -> 선조립(생성 시점에 전략이 정해짐), 후실행 Context의 execute 메서드는 변하지 않는 부분에 해당한다. (템플릿) Strategy의 ca..