namespace EntrustSettle.EventBus
{
///
/// 事件总线
/// 接口
///
public interface IEventBus
{
///
/// 发布
///
/// 事件模型
void Publish(IntegrationEvent @event);
///
/// 订阅
///
/// 约束:事件模型
/// 约束:事件处理器<事件模型>
void Subscribe()
where T : IntegrationEvent
where TH : IIntegrationEventHandler;
///
/// 取消订阅
///
///
///
void Unsubscribe()
where TH : IIntegrationEventHandler
where T : IntegrationEvent;
///
/// 动态订阅
///
/// 约束:事件处理器
///
void SubscribeDynamic(string eventName)
where TH : IDynamicIntegrationEventHandler;
///
/// 动态取消订阅
///
///
///
void UnsubscribeDynamic | (string eventName)
where TH : IDynamicIntegrationEventHandler;
}
}
|