Kim Jinung

Strategy pattern(Policy pattern) 본문

Computer Science/Design Pattern

Strategy pattern(Policy pattern)

Kim Jinung 2023. 6. 5. 18:47

Strategy pattern(Policy pattern)

https://en.wikipedia.org/wiki/Strategy_pattern

전략 패턴은 인터페이스와 구현체를 사용해서 로직을 유연하게 변경하는 패턴이다. 구현 코드만 보면 DI랑 뭐가 다른거지 싶은데 목적이 다르다. 전략 패턴은 클라이언트가 전략을 사전에 숙지해서 주도권을 쥐고 런타임 시 전략(알고리즘)을 동적으로 변경한다면, DI는 의존성을 외부에서 주입해주는 방식을 통해서 객체간의 결합을 느슨하게 만드는 것이 목적이다.

 

템플릿 메서드 패턴이 상속을 이용한다면, 전략 패턴은 컴포지션을 이용하는 방식이다.