"전략패턴"의 두 판 사이의 차이

위키원
이동: 둘러보기, 검색
(목적)
6번째 줄: 6번째 줄:
 
== 특징 ==
 
== 특징 ==
 
=== 목적 ===
 
=== 목적 ===
하나의 결과를 만드는 목적([[메소드]])는 동일하나, 그 목적을 달성할 수 있는 방법(전략, 알고리즘)이 여러가지 존재할 경우에 사용하는 패턴이다. Context의 변경을 최소화하고, 인터페이스를 통해 다양한 타입을 만들어 코드를 변경할 수 있다.
+
하나의 결과를 만드는 목적([[메소드]])는 동일하나, 그 목적을 달성할 수 있는 방법(전략, 알고리즘)이 여러가지 존재할 경우에 사용하는 패턴이다. Context의 변경을 최소화하고, 인터페이스를 통해 다양한 타입을 만들어 코드를 변경할 수 있다.<ref name = 'strategy03'>문메이, <[https://meylady.tistory.com/53 전략패턴(Strategy Pattern)]>, <<개인 블로그>>, 2018-04-03</ref>
  
 
=== 장점 ===
 
=== 장점 ===
14번째 줄: 14번째 줄:
  
 
== 참고자료 ==
 
== 참고자료 ==
 +
* 정인상, 채흥석, <[https://www.hanbit.co.kr/store/books/look.php?p_code=B3400922670 자바 객체지향 디자인 패턴: UML과 GoF 디자인 패턴 핵심 10가지로 배우는]>, <<한빛 미디어>>, 2014-04-28
 +
* 전략 패턴 위키백과 - https://ko.wikipedia.org/wiki/%EC%A0%84%EB%9E%B5_%ED%8C%A8%ED%84%B4
 +
* 문메이, <[https://meylady.tistory.com/53 전략패턴(Strategy Pattern)]>, <<개인 블로그>>, 2018-04-03
 +
 
== 같이보기 ==
 
== 같이보기 ==
 
* [[디자인패턴]]
 
* [[디자인패턴]]
 
* [[모델-뷰-컨트롤러 패턴]]
 
* [[모델-뷰-컨트롤러 패턴]]

2020년 8월 19일 (수) 14:33 판

전략 패턴(Strategy Pattern) 이란 전략을 쉽게 바꿀 수 있도록 해주는 디자인 패턴이다. 여기에서 전략이란 어떤 목적을 달성하기 위해 일을 수행하는 방식, 비즈니스 규칙, 문제를 해결하는 알고리즘 등으로 이해할 수 있다.[1]

개요

디자인패턴에서 전략패턴(strategy pattern)을 따르는 클래스는 유연하고 재사용 가능한 객체 지향 소프트웨어를 설계하기 위해 반복되는 디자인 문제를 해결하는 방법, 즉 객체는 구현, 변경, 테스트, 재사용이 쉬워야 한다는것을 기술하는 23가지 GoF 디자인 패턴중 하나이다.[2] 같은 문제를 해결하는 여러 알고리즘이 클래스별로 캡슐화되어 있고 이들이 필요할 때 교체할 수 있도록 함으로써 동일한 문제를 다른 알고리즘으로 해결할 수 있게하는 패턴이다.[1]

특징

목적

하나의 결과를 만드는 목적(메소드)는 동일하나, 그 목적을 달성할 수 있는 방법(전략, 알고리즘)이 여러가지 존재할 경우에 사용하는 패턴이다. Context의 변경을 최소화하고, 인터페이스를 통해 다양한 타입을 만들어 코드를 변경할 수 있다.[3]

장점

단점

구조

각주

  1. 1.0 1.1 정인상, 채흥석, <자바 객체지향 디자인 패턴: UML과 GoF 디자인 패턴 핵심 10가지로 배우는>, <<한빛 미디어>>, 2014-04-28
  2. 전략 패턴 위키백과 - https://ko.wikipedia.org/wiki/%EC%A0%84%EB%9E%B5_%ED%8C%A8%ED%84%B4
  3. 문메이, <전략패턴(Strategy Pattern)>, <<개인 블로그>>, 2018-04-03

참고자료

같이보기