728x90
반응형
Strategy 패턴
전략은 하나, 전술은 다양하게
strategy 패턴
strategy의 의미는 '전략', '전술'이다.
소프트웨어 개발에서 전략이나 전술은 알고리즘으로 구현한다.
strategy 패턴은 [그림 5-47]과 같다.
즉 알고리즘 군을 정의하고(strategySort 추상 클래스) 같은
알고리즘(버블 정렬, 퀵 정렬, 선택 정렬 등)을 각각 하나의
클래스로 캡슐화한(quickSort 클래스, selectSort 클래스, bubbleSort 클래스)
다음, 필요할 때 서로 교환해서 사용할 수 있게 해준다.
이 패턴을 사용하면 클라이언트와 무관하게 독립적으로
알고리즘을 변경할 수 있고(quickSort→bubbleSort),
클라이언트는 독립적으로 원하는 알고리즘을 사용할 수 있다.
즉 이 패턴은 클라이언트에게 알고리즘이 사용하는 데이터나 그 구조를 숨겨주는 역할을 한다.
strategy 패턴은 알고리즘을 사용하는 곳과, 알고리즘을 제공하는 곳을
분리시킨 구조로 알고리즘을 동적으로 교체할 수 있다.
728x90
반응형
'개발 관련 정보 > 디자인패턴' 카테고리의 다른 글
15.RMI (0) | 2023.04.13 |
---|---|
14. Bridge 패턴 (0) | 2023.04.12 |
iterator 패턴 (0) | 2023.04.06 |
11.Builder 패턴 / Chain of Responsibility 패턴 (0) | 2023.04.04 |
10.composite 패턴 (0) | 2023.04.03 |
댓글