[c++] 핸들과 수신자

핸들(handle)

핸들은 이벤트를 생성하거나, 발송하는 객체입니다. 이벤트가 발생하거나 특정 조건이 충족되었을 때, 핸들은 해당 이벤트에 대한 정보와 함께 수신자에게 이벤트를 전달합니다.

class EventHandler {
public:
    virtual void notify() = 0;
};

위의 예시 코드는 이벤트를 생성하는 핸들을 나타내는 EventHandler 클래스의 간단한 정의입니다.

수신자(Receiver)

수신자는 핸들로부터 이벤트를 수신하고, 해당 이벤트에 대한 처리 로직을 가지고 있습니다. 수신자는 핸들과 느슨하게 결합되어 있으며, 여러 핸들이 동일한 수신자를 참조할 수 있습니다.

class EventReceiver : public EventHandler {
public:
    void notify() override {
        // 이벤트에 대한 처리 로직 작성
    }
};

위의 예시 코드는 이벤트를 받아 처리하는 수신자를 나타내는 EventReceiver 클래스의 간단한 정의입니다.

핸들과 수신자의 상호작용

핸들과 수신자는 컴포넌트 간의 결합을 최소화하여 시스템을 유연하게 만들어줍니다. 핸들은 이벤트에 대한 정보를 가지고 있고, 해당 정보를 기반으로 수신자를 호출하여 실제 처리를 수행합니다.

이러한 패턴은 대규모 시스템에서 이벤트 처리 및 로직 분리를 촉진하고, 유지보수성을 향상시키는 데 도움이 됩니다.

이와 같이, 핸들과 수신자 패턴은 이벤트 기반 시스템에서 유연하고 확장 가능한 구조를 구축하는 데 중요한 역할을 합니다.