Strategy패턴은 각각의 알고리즘군을 교환이 가능하도록 별도로 정의하고 각각 캡슐화 한 후 서로 교환해서 사용할 수 있는 패턴이며, 아래와 같은 장점이 존재한다.
1. 코드 중복 방지
2. 런타임시에 타겟 메소드 변경
3. 확장성 및 알고리즘 변경 용이
위의 말을 쉽게 말하자면 '프로젝트 '전체에서 변경이 일어나지 않는 부분에서 일어나는 부분을 찾아서 따로 캡슐화한다.' 라고 말 할 수 있다.
위의 그림은 디자인 패턴을 클래스 다이어그램으로 나타낸 것이다.
위의 이미지는 Strategy 패턴 클래스 다이어그램 이미지이다.
- Starategy: 전략 사용을 위한 인터페이스 생성
- ImplementationOne,Two: Strategy인터페이스를 구현한 실제 알고리즘 구현
- Context: 인스턴스를 생성하여 직접 Strategy를 사용하는 역활
클래스 다이어그램 및 예제및 실행
https://niceman.tistory.com/133
Java(자바) 디자인패턴 - 전략(Strategy) 패턴 설명 및 예제소스
Java 디자인패턴 - 전략(Strategy) 패턴 오늘부터 Java 디자인 패턴을 예제와 함께 설명하는 포스팅을 하려고 합니다. 그 중에서 첫 번 째로 실무 프로젝트에서 가장 많이 사용하고 중요한 전략패턴을 설명하려고..
niceman.tistory.com
이 블로그에서 제시한 예제를 보면서 이해하기 쉽게 이해할 수 있었다.
'SpringBoot' 카테고리의 다른 글
JSON & XML (0) | 2019.08.12 |
---|---|
Singleton 패턴 (0) | 2019.08.08 |
디자인 패턴 (0) | 2019.08.08 |
AWS RDS 인스턴스 생성 및 설정 (0) | 2019.07.30 |
AWS Lambda & 간단한 Hello from Lambda예제 시작 (0) | 2019.07.26 |