커맨드와 이벤트
- 커맨드는 한 행위자로부터 다른 구체적인 행위자에게 전달된다.
- 보내는 행위자는 받는 행위자가 커맨드를 받고 구체적인 작업을 수행하길 바란다.
- API 핸들러에 폼을 전달하는 행위는 커맨드를 전달하는 행위와 같다
- 커맨드의 이름을 붙일 때는
allocate stock(재고를 할당하라)
,delay shipment(선적을 지연하라)
와 같은 명령형 동사구를 사용한다
-
- 커맨드는 시스템이 어떤 일을 수행하길 바라는 의도를 드러낸다.
- 그 결과, 커맨드는 보내는 행위자는 커맨드 수신자가 커맨드 처리에 실패했을 때 오류 정보를 돌려받기를 바란다.
-
- BatchQuantityChanged 라는 이벤트를 발행해도 발행하는 행위자는 누가 이 이벤트를 받는지에 대해 모른다
- 이벤트를 보내는 쪽은 받는 쪽의 성공이나 실패에 관심 없다.
이벤트와 커맨드 비교
이벤트 | 커맨드 | |
---|---|---|
이름 | 과거형 | 명령형 |
오류 처리 | (송신하는 쪽과) 독립적으로 실패함 | (송신하는 쪽에 오류를 돌려주면서) 시끄럽게 실패함 |
받는 행위자 | 모든 리스너 | 정해진 수신자 |
관련 문서
Plugin Backlinks: 아무 것도 없습니다.