전략 콘크리트

    [디자인 패턴] 전략 패턴

    들어가며 우테코에서 사다리타기 게임을 하면서 사다리 게임을 직접 실행하는 Game 도메인을 만들었다. 하지만 이 도메인은 하는일이 게임실행 + 결과값 저장 및 도출 기능을 가지고 있는 매우매우 비대한 사이즈의 도메인이였다. 그래서 이 도메인을 줄이기 위해 고민을 했었는데 카프카가 사다리타기 문제에 전략 패턴을 접목할 수 있다고 하여 알아보게 되었다. 사다리타기 클래스를 외부에서 주입해주고 테스트 할 때는 테스트용 사다리타기 클래스를 주입하여 더 간단하게 사용할 수 있을 것 같았다. 전략 패턴 정의 전략 패턴이란 실행 중에 알고리즘을 선택할 수 있게 하는 행위 소프트웨어 디자인 패턴이다. 여기서 말하는 알고리즘은 하나의 전략 이라고 생각하면 된다. 로직 실행은 인터페이스에 의존을 시키고 인터페이스를 구현한..