-
디자인 패턴은 연습이 필요하다.
-
패턴에 대해서 알고 있고 이해하고 있더라도 개발에 적용하려고 하면 머뭇거리게 되는건 연습이 되어있지 않아서이지 않을까
-
마치 운동선수가 훈련하듯 다양한 주제로 연습을해보면 도움이 되지 않을까
- 거래자 별로 다른 행동을 하는 거래자를 생성하는 시나리오
- 거래자 종류 : 구매자, 판매자, 쿨구매자, 쿨판매자
- 구매자 : 구매 가격 협의 제안
- 판매자 : 판매 가격 협의 제안
- 쿨구매자 : 구매 가격 제안 → 수락 요청
- 쿨판매자 : 판매가격 제안 → 수락 요청
- 비행기를 만드는 공장
- 비행기 종류
- 구식 비행기
- 신식 비행기
-
속도가 빨라질 수록 자동차에서는 조작을 불가하게 만들 수 있게 만드는 시나리오
-
상태에 따른 변화
- 시속 0km : 사람을 태울 수 있음
- 시속 1~30km : 사람을 태울 수 없고 이외에는 아무 제한하지 않음
- 시속 61~80km : 창문 높이를 제한한다. (창문 높이가 제한 높이보다 낮으면 최저 높이까지 자동으로 조정한다.)
-
느낀점 & 후기
- 적용하고 나니 상태에 따른 동작이 명확하게 보임
- 각 상태는 Context (예제에서는 Car)를 갖고 있어야 함
- 각 상태 안에 있는 Context를 사용해서 현상태를 변경할 수도 있음
- Context 내에 상태를 변경할 수 있는 메서드가 있어야 함


