Communication choice

통신 방식은 대상 수와 의존도에 따라 달라진다

직접 참조, 디스패처, 인터페이스는 모두 통신이지만 결합 방향과 수신자 수가 다르다.

Direct

대상 하나를 알고 호출

레벨의 특정 문, 현재 플레이어

Dispatcher

한 발행자가 여러 청취자에게 알림

문 열림 알림, 체력 변화 이벤트

Interface

대상의 구체 클래스를 숨김

상호작용 가능한 문, 레버, NPC
선택 기준의미
대상 하나직접 참조가 가장 단순하지만 IsValid가 필요하다.
청취자 여러 명디스패처로 발행자와 반응자를 분리한다.
클래스가 자주 바뀜인터페이스 메시지로 구현 위치를 숨긴다.