Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 도메인 주도 개발
- 백준 파이썬
- String 함수
- golang
- 백준
- 우분투
- 백준 12761번
- 자바 디자인 패턴
- domain driven develop
- 고 배열
- 트리 순회
- 도메인 주도 개발 시작하기
- ddd
- go
- 백준 12761
- 백준 사이트
- 몽고디비 렘
- golang struct
- http 완벽가이드
- 정렬
- 12761번 돌다리
- http 개념
- hadoop
- 자바
- flask
- 12761 돌다리
- MongoDB Realm
- 하둡
- 자바 디자인패턴
- 파이썬
Archives
- Today
- Total
개발바닥
스트래티지 패턴 본문
반응형
스트래티지 패턴이란?
strategy = 전략이라는 의미로 전략을 쉽게 바꿀 수 있도록 해주는 디자인 패턴이다.
여기서 전략에 의미는 어떤 목적을 달성하기 위해 일을 수행하는 방식, 비즈니스 규칙,문제를 해결하는 알고리즘 등으로 이해할 수 있다.
예를들면 이동하는 전략 중에는 걷기, 뛰기, 날기 등등 이런것들이 전략이 된다.
스트래티지 패턴은 같은 문제를 해결하는 여러 알고리즘이 클래스 별로 캡슐화되어 있고 이들이 필요할 때 교체할 수 있도록 함으로써 동일한 문제를 다른 알고리즘으로 해결할 수 있게 하는 디자인 패턴이다.
스트래티지 패턴 적용 소스 코드
https://github.com/jokerKwu/Java-Design-Pattern/blob/master/src/Strategy_Pattern/Order.java
위 소스 코드 UML 다이어그램으로 도식화하였습니다.
클래스 별로 설명드리자면
OrderStrategy 클래스 - 인터페이스나 추상 클래스로 외부에서 동일한 방식으로 원하는 스트래티지를 호출한다.
Order 클래스 - 스트래티지 패턴을 이용하는 역할을 수행한다. 필요에 따라 동적으로 구체적인 전략을 바꿀 수 있도록 setter 메서드를 제공한다.
ChikenStrategy , RamenStrategy , RiceStrategy 클래스 - 스트래티지 패턴에서 명시한 알고리즘을 실제로 구현한 클래스
반응형
Comments