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

+ Recent posts