EventBroker & 중개자 패턴

NANA·2024년 9월 24일
0

EventBroker와 중개자 패턴(Mediator Pattern)은 모두 객체 간의 상호작용을 관리하는 데 사용되지만, 몇 가지 주요 차이점이 있습니다. 아래에서 각각의 개념과 그 차이점을 설명하겠습니다.

EventBroker
정의: EventBroker는 주로 이벤트 기반 시스템에서 이벤트를 발생시키고 수신하는 역할을 합니다. 여러 객체가 이벤트를 발행하고, 다른 객체가 그 이벤트를 수신하여 처리할 수 있도록 중재하는 기능을 수행합니다.
용도: 이벤트 기반 아키텍처에서 주로 사용되며, 다양한 이벤트를 중앙에서 관리하고 전달하는 기능을 제공합니다. 객체 간의 느슨한 결합을 유지하는 데 도움이 됩니다.
구현 방식: 주로 addListener, dispatch 등의 메서드를 통해 이벤트 리스닝과 이벤트 발생을 처리합니다. 이벤트가 발생하면 관련된 모든 리스너가 호출됩니다.
중개자 패턴 (Mediator Pattern)
정의: 중개자 패턴은 객체 간의 직접적인 상호작용을 줄이기 위해 중개자 역할을 하는 객체를 도입하는 구조입니다. 이를 통해 객체 간의 결합도를 낮추고, 서로의 관계를 더 쉽게 관리할 수 있습니다.
용도: 복잡한 상호작용을 관리하고, 객체 간의 의존성을 줄이며, 시스템을 더 이해하기 쉽게 만드는데 주로 사용됩니다.
구현 방식: 중개자는 여러 객체를 참조하며, 이들 간의 상호작용을 조정합니다. 클라이언트는 중개자를 통해 다른 객체에 메시지를 전달하거나 요청을 수행합니다.
주요 차이점
목적:

EventBroker: 이벤트 기반의 통신을 관리하는 데 중점을 둡니다.
중개자 패턴: 객체 간의 직접적인 상호작용을 줄이고, 복잡성을 관리하는 데 중점을 둡니다.
상호작용 방식:

EventBroker: 이벤트를 발행하고, 해당 이벤트를 수신하는 리스너를 호출하는 방식으로 동작합니다. 일반적으로 이벤트를 발생시키는 주체와 이를 수신하는 주체가 분리됩니다.
중개자 패턴: 중개자가 여러 객체 간의 직접적인 관계를 관리합니다. 객체는 중개자를 통해 서로 상호작용하며, 중개자가 이를 조정합니다.
유연성:

EventBroker: 다양한 이벤트를 추가할 수 있는 유연성을 제공하지만, 특정 이벤트의 흐름을 추적하기 어려울 수 있습니다.
중개자 패턴: 명확한 책임과 역할 분담을 통해 객체 간의 관계를 명확히 하지만, 중개자 객체가 너무 복잡해질 수 있는 단점이 있습니다.
요약
EventBroker는 이벤트를 중재하여 객체 간의 통신을 관리하는 반면, 중개자 패턴은 객체 간의 상호작용을 조정하는 역할을 합니다. 두 개념은 목적과 사용 사례에 따라 선택하여 사용할 수 있습니다.

profile
기술블로그 그런 거창한 거 아닙니다. 일기에요 일기

0개의 댓글