'strategy pattern'에 해당되는 글 1건
[디자인패턴] State, Strategy Pattern
Posted at 2007/05/30 01:04// Posted in 나만의 작업/***************************************
***** Design Pattern 정리 -
flyburi.com 버리****
***************************************/
State Pattern - Design
Pattern
Problem
1. How can you change the class of an
object at run-time?
2. How can you model a finite state
machine using OO techniques?
Example 1.
스타크래프트에서 플레이어가 테란 유닛들 중에서 마린, 벌처, 탱크에게 임의의 공격명령을 내렸을 때 자신의 상태에 따라 행위가 달라질 때 적용가능?
공격(abstract
class) 이라는 하나의 공통적인 행위안에 세가지 또는 그 이상의 상태를 나타낼수 있습니다.
마린공격, 벌처공격, 탱크공격 -
ConcreteState마린, ...
마린은 총을 쏠것이고, 벌처는 마인을 박거나 던지기, 탱크는 퉁퉁때리기와 시즈모드에서 공격하는것. 자신의 상태에 따라 공격하는 행위가 달라지는데 이럴때 적용가능할 것 같은데.. 맞나요? ^^;;
Example 2.
은행사이트에서 시간의 변화에 따라 (이체
이용시간) 서비스가 허용되는 상태
Example 3.
The State pattern allows an object to change its behavior when its internal state changes. This pattern can be observed in a vending machine. Vending machines have states based on the inventory, amount of currency deposited, the ability to make change, the item selected, etc. When currency is deposited and a selection is made, a vending machine will either deliver a product and no change, deliver a product and change, deliver no product due to insufficient currency on deposit, or deliver no product due to inventory depletion. [Michael Duell, "Non-software examples of software design patterns", Object Magazine, Jul 97, p54
State Pattern은 이렇다. 객체의 행위가 별도로 분리된 상태(state)에 따라 달라지도록 해준다. 이때 상태 정보는 클래스로 정의된다. 상태의 정보를 캡슐화하여 프로그램 실행 중에 특정 객체의 행위를 변경하는 패턴 더 참고할 URL
Using the STATE Design Pattern in Java(예제) Strategy Pattern Strategy Pattern은 이렇다. 알고리즘군의 교체 동일 목적 알고리즘의 선택 적용 문제 프로그램 작성하다가 한가지 작업을 수행하는데 사용할 수 있는 알고리즘이 여러개 존재하는 경우 적용시기와 효과가 비슷하게 보이는 State Pattern과
Strategy Pattern의 차이점 State Pattern은 상태에 따라 행위가 달라지지만, Strategy Pattern은 동일한 결과에 과정을 다르게 교체하여 도출한다.
'나만의 작업' 카테고리의 다른 글
| Refactoring (2) | 2007/06/18 |
|---|---|
| 트래픽초과의 압박으로 티스토리로 이전하였습니다. (10) | 2007/06/16 |
| 웹표준을 위한 CSS (4) | 2007/06/15 |
| [디자인패턴] bridge & adapter & mediator pattern (2) | 2007/06/13 |
| [디자인패턴] State, Strategy Pattern (6) | 2007/05/30 |
| 고슴도치플러스의 서비스 홍보... (4) | 2007/05/22 |
| Rss 주소 바꾸었습니다~ (12) | 2007/05/16 |
| 저도 Mac!을 씁니다. (4) | 2007/05/13 |
| 객체지향 프로그래밍. (0) | 2007/05/13 |



우리가 알게 모르게 시행해오고 있던 것이었지만, 이젠 표현을 해보자라고 이슈로 떠올랐고, 그 후로 많은 용어가 나타났는데 디자인 패턴도 같은 맥락이라고 봐야겠지요.
그만큼 이런것이 이제 중요한 사항으로 대두되고 있다는 반증이기도 하고요.
역사를 살펴보면 생뚱맞게 사건이 일어나는 것이 아닌, 앞, 뒤 이야기가 다 있습니다. 이바닥도 마찬가지입니다. 좀더 높은 눈을 가지게 되면 왜 이런 이야기들이 나오는지 알게 됩니다. 요즘 이게 뜨더라 하면 무작정 그걸 공부해야지 하는 것도 좋지만 왜 그것이 뜨고 있는지에 대한 이해도 중요하겠지요.
그것은, 우리가 이바닥에서 즐겨야 할 기쁨임과 동시에 슬픔이기도 하고요.
factory는 많이 쓰이기도 하지만, 다른 패턴들도 찾아보면
모르는 사이에 쓰이고 있는것 같습니다.
^^;; 이 바닥 안떠나시는 거죠?ㅋㅋ
시스템 설계할때 멋지게(?) 하고 싶다면 말이쥐~
POS도 나중에 한번 읽어보렴~ 나도 아직 읽어보진 않았는데...
그것까지 읽고 적용이 원활하다면 실력 급상승 하게 될꺼야~
기본에 충실하면서 설계도 고려하며 코딩을 해야겠어요
근데 pos가 뭔지 몰겠어요~ㅠㅠ
저희 교수님이 항상 설명해줄때..
스타크래프트를 어찌나 좋아하시던지 ㅎㅎ
실력은 검증불가 ...;;
anyway..
Attack 명령을 내렸을때
각 유닛마다의 공격방법을 차별화 할 수 있겠군요
끄덕끄덕...
나중에 절대 안까먹을것 같아요