Software Engineering/Design Pattern
스트래티지 패턴 (Strategy)
엘키
2008. 2. 5. 15:01
범용 적으로 사용 될 수 있는 알고리즘을 독립적인 클래스로 구성하고, 해당 클래스를 선택적으로 사용할 수 있게 하는 것을 스트래티지 패턴이라고 합니다.
스테이트 패턴과 비슷한 점이 많은 패턴이지만, 범용적으로 사용 될 수 있는 알고리즘을 독립시킨다는 점에서 차이가 있습니다.
스테이트 패턴과 비슷한 점이 많은 패턴이지만, 범용적으로 사용 될 수 있는 알고리즘을 독립시킨다는 점에서 차이가 있습니다.
class Sort { public: virtual void Sort(int * pScore) = 0; }; class BubbleSort : public Sort { public: virtual void Sort(int *pScore) { //버블정렬 } }; class QuickSort : public Sort { public: virtual void Sort(int *pScore) { //퀵정렬 } }; class Score { Sort* m_pSort; public: void SetSort(Sort *pSort){m_pSort = pSort;} void Sort() { if(m_pSort) { m_pSort->Sort(); } } };