전략패턴

  • 객체의 행위를 바꾸고 싶은 경우, 직접 변경하는 것이 아니라 전략이라고 부르는 캡슐화된 알고리즘을 컨택스트 안에서 바꾸면서 상호 교체가 가능하게 만드는 패턴을 말합니다.

  • 저는 주로 테스트코드를 작성할 때 사용하는데요. 원래 비즈니스 로직을 담은 기본 전략과 효과적인 테스트를 위해 특정 동작에서는 특정 결과값이 나오도록 설정한 테스트 용 전략을 따로 두어 실제 어플리케이션 코드에서는 원래 전략을, 테스트 코드 상에서는 테스트 전략을 사용하도록 유연하게 문맥에 따라서 교체해서 사용합니다.

Last updated