BLUEPRINT COMMUNICATION

통신 방식은 대상 수와 결합도로 선택한다

직접 참조, 이벤트 디스패처, 인터페이스는 모두 액터 사이를 잇지만 대상 수와 결합도가 다르다.

Direct Reference

직접 참조

특정 액터 인스턴스를 알고 있을 때 변수나 함수를 바로 호출한다.

방향일대일
결합강함
통신 결합도Access None 검사
Event Dispatcher

이벤트 디스패처

한 객체의 사건을 바인딩된 여러 구독자에게 알린다.

방향일대다
결합느슨함
통신 결합도바인딩 상태 확인
Blueprint Interface

인터페이스

대상의 구체 클래스 대신 같은 기능 계약을 구현했는지 본다.

방향다대다
결합느슨함
통신 결합도구현 여부 확인
1

BPI 정의

함수 이름과 입력 핀만 선언하고 로직은 넣지 않는다.

2

클래스 구현

각 클래스가 계약을 추가하고 자기 방식의 로직을 둔다.

3

Message 호출

발신자는 구현 여부를 확인한 뒤 같은 메시지를 보낸다.

다형성이 필요하면 인터페이스

여러 클래스가 같은 능력을 제공해야 한다면 발신자는 클래스 이름보다 인터페이스 구현 여부를 기준으로 호출하는 편이 확장에 유리하다.