개발바닥

스트래티지 패턴 본문

개인 공부/자바 디자인 패턴

스트래티지 패턴

라이언 2019. 2. 10. 19:03
반응형

스트래티지 패턴이란?

strategy = 전략이라는 의미로 전략을 쉽게 바꿀 수 있도록 해주는 디자인 패턴이다.

여기서 전략에 의미는 어떤 목적을 달성하기 위해 일을 수행하는 방식, 비즈니스 규칙,문제를 해결하는 알고리즘 등으로 이해할 수 있다.

예를들면 이동하는 전략 중에는 걷기, 뛰기, 날기 등등 이런것들이 전략이 된다.


스트래티지 패턴은 같은 문제를 해결하는 여러 알고리즘이 클래스 별로 캡슐화되어 있고 이들이 필요할 때 교체할 수 있도록 함으로써 동일한 문제를 다른 알고리즘으로 해결할 수 있게 하는 디자인 패턴이다.



스트래티지 패턴 적용 소스 코드


https://github.com/jokerKwu/Java-Design-Pattern/blob/master/src/Strategy_Pattern/Order.java



위 소스 코드 UML 다이어그램으로 도식화하였습니다.



클래스 별로 설명드리자면


OrderStrategy 클래스 - 인터페이스나 추상 클래스로 외부에서 동일한 방식으로 원하는 스트래티지를 호출한다.

Order 클래스 - 스트래티지 패턴을 이용하는 역할을 수행한다. 필요에 따라 동적으로 구체적인 전략을 바꿀 수 있도록 setter 메서드를 제공한다.

ChikenStrategy , RamenStrategy , RiceStrategy 클래스 - 스트래티지 패턴에서 명시한 알고리즘을 실제로 구현한 클래스

반응형

'개인 공부 > 자바 디자인 패턴' 카테고리의 다른 글

싱글턴 패턴  (0) 2019.03.17
디자인 패턴  (0) 2019.02.01
SOLID 원칙  (0) 2019.01.30
자바 추상화  (1) 2019.01.30
모델링  (0) 2019.01.30
Comments