- 순서
- 전략패턴이란?
- 장점
- 단점
- 전략패턴이란?
- 알고리즘을 캡슐화하여 실행 중에 동적으로 교체할 수 있도록 하는 디자인 패턴이다.
- 행동 패턴에 속한 디자인 패턴이다.
- 행동패턴이란?
- 객체나 클래스 사이의 알고리즘이나 책임 분배를 정의하여 복잡한 행동을 관리하고 조정하는데 도움을 주는 패턴
- 한 객체가 수행할 수 없는 작업을 여러 개의 객체로 어떻게 분배하며 객체 사이의 결합도 최소화에 중점을 둠
- 협력을 관리하여 코드의 유연성과 재사용성을 높이는데 사용됨.
- 장점
- 새로운 전략을 추가하거나 기존 전략을 변경하기 용이하여 코드의 유연성및 확장성을 높임.
- 결합도를 최소화하여 클라이언트 코드가 특정 알고리즘에 종속되지 않도록하여, 필요에 따라 전략을 선택하여 사용할 수 있음.
- OCP(개방 폐쇄 원칙)을 준수함
- 각 전략이 독립적으로 구현되어 코드의 가독성이 향상됨
- 각 전략을 개별적으로 테스트할 수 있어 테스트 용이성이 높음
- 단점
- 전략 클래스, 인터페이스, 클라이언트 코드 등 추가적인 구성 요소가 필요하여 코드 복잡성이 증가할 수 있음.
- 런타임 시 전략을 선택하고 교체하는 과정에서 약간의 성능 오버헤드가 발생할 수 있음.
- 적절한 전략을선 택하고 분리하는 설계가 어려울 수 있음.
'C++ > 디자인패턴' 카테고리의 다른 글
| [C++]구조패턴/어댑터 패턴 (0) | 2025.07.28 |
|---|---|
| [C++]생성 패턴/빌더 패턴 (2) | 2025.07.25 |
| [C++]생성 패턴/팩토리 패턴 (3) | 2025.07.23 |
| [C++] 생성 패턴/싱글톤 패턴 (0) | 2025.06.20 |
| [C++] 디자인패턴 (0) | 2025.06.13 |