전략 패턴 (Strategy Pattern)
동일한 목적의 알고리즘 선택을 적용하고자 할때 전략패턴을 사용하고자 합니다. 가령 스타크래프트에서 저글링을 선택 후 공격하고자 하때나 히드라 리스크를 선택하여 공격할때 해당 유닛의 공격방식도 달라집니다. 그리고 전략패턴의 경우 상태패턴과 거의 같습니다. 책을 봐도 구현방식같은 경우 거의 같은 것 같습니다. 단지 차이점이라면 상태패턴은 내부 상태에 의해 상태가 변경이 가능하다는 점입니다. 그렇지만 디자인패턴을 꼭 이 상황에 이렇게 넣겠다는 것보다는 적절하게 상황에 맞게 쓰는 게 좋을 듯 합니다. 아래는 간단한 다이어 그램입니다. cBubbleSort와 cQuickSort는 cSortAlgoritm 인터페이스를 상속하여 각각의 Sort함수를 오버라이딩 합니다. 그리고 cIntegerArray클래스에서 해당 ..
디자인패턴
2015. 8. 3. 08:01