С тех пор как я узнал об использовании агрегаторов событий для публикации сообщений вместо использования событий, которыми я управлял, для большинства событий в моем коде (за исключением тех, которые связывают свойства управления WPF с моим кодом). Проблема сейчас в том, что, похоже, я действительно перегружаю свои сервисы обработчиками. Вокруг GitHub я вижу людей, которые реализуют агрегаторы событий (кажется, принимают другое имя, например, шина) и создают класс для обработки каждого типа сообщений.
Например:
public class SomeHandler : IHandle<SomeMessage>
{
private readonly IEventAggregator _eventAggregator;
public SomeHandler(IEventAggregator eventAggregator)
{
_eventAggregator = eventAggregator;
_eventAggregator.Subscribe(this);
}
public void Handle(SomeMessage message)
{
Console.WriteLine("Handled SomeMessage.");
}
}
Какой термин используется для этого типа программирования? Я хотел бы узнать больше об этом.