티스토리 뷰
범용 적으로 사용 될 수 있는 알고리즘을 독립적인 클래스로 구성하고, 해당 클래스를 선택적으로 사용할 수 있게 하는 것을 스트래티지 패턴이라고 합니다.
스테이트 패턴과 비슷한 점이 많은 패턴이지만, 범용적으로 사용 될 수 있는 알고리즘을 독립시킨다는 점에서 차이가 있습니다.
스테이트 패턴과 비슷한 점이 많은 패턴이지만, 범용적으로 사용 될 수 있는 알고리즘을 독립시킨다는 점에서 차이가 있습니다.
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(); } } };
'Software Engineering > Design Pattern' 카테고리의 다른 글
플라이웨이트 패턴 (Fly Weight) (0) | 2008.02.09 |
---|---|
프록시 패턴 (Proxy) (0) | 2008.02.09 |
스테이트 패턴 (State) (2) | 2008.02.05 |
컴포지트 패턴 (Composite) (0) | 2008.02.05 |
이터레이터 패턴 (Iterator) (0) | 2008.02.05 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 게임데브포에버
- ruby
- 디자인 패턴
- TDD
- perfmon
- c언어
- 디버깅
- Rails
- 조엘 온 소프트웨어
- SDL
- 루비 온 레일즈
- 리버스 엔지니어링
- 좋은 프로그래머
- 게임개발포에버
- 바로가기 프로그램
- 멀티스레드
- SQLite Spy
- Ruby on Rails
- EzShortcut
- EasyExec
- 루비
- 임백준
- RoR
- TraceRoute
- 엘키
- svn
- NDC2013
- ftp
- CppSQLite
- MS-SQL
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
글 보관함