디자인 패턴1 Strategy Pattern 1. 정의 1) 여러 알고리즘 전략이 존재하고, 상황에 따라 적합한 정책을 적용시킨다. 2. 문제 1) 클라이언트에 모든 알고리즘을 포함시키는 것은 클라이언트 코드의 양이 늘어나고 복잡해짐 -> 유지 보수 어려움 2) 알고리즘의 다른 버전이 존재해서, 중복으로 존재하거나 if문을 이용해서 선택해야함. OCP(Open-Closed Principle) 위반 3. 해결방안 1) 중복을 공통화시키고, 실행 시점에 맞는 알고리즘을 호출하도록 한다(상속 또는 인터페이스 활용) 2) 새로운 알고리즘이 필요하면 알고리즘 클래스를 추가하여 전략적으로 상황에 맞게 알고리즘을 사용할 수 있음. 알고리즘의 확장이 용이함. 4. 사용 예제 1) 조리법이 다른 경우 2) 파일의 압축 방법이 다른 경우 등. 2019. 12. 26. 이전 1 다음