전략패턴 썸네일형 리스트형 [Spring] 전략 패턴 GOF 디자인 패턴에서 정의한 전략 패턴의 의도 알고리즘 제품군을 정의하고 각각을 캡슐화하여 상호 교환 가능하게 만들자. 전략을 사용하면 알고리즘을 사용하는 클라이언트와 독립적으로 알고리즘을 변경할 수 있다. 전략 패턴은 변하지 않는 로직(부가 기능)을 Context라는 곳에 두고, 변하는 부분(핵심 기능)을 Strategy 라는 인터페이스를 만들고 해당 인터페이스를 구현하도록 하여 문제를 해결한다. -> 상속이 아닌 위임으로 템플릿 메서드 패던의 문제 해결 Context - 변하지 않는 템플릿 역할 Strategy - 변하는 알고리즘 // 템플릿 역할을 할 Context.class class Context{ fun template(strategy: Strategy){ //부가 기능 strategy.lo.. 더보기 이전 1 다음