Re[2]: Не тащите сишные паттерны/навыки в прекрасный .net ;)
От: Somescout  
Дата: 03.10.19 10:39
Оценка:
Здравствуйте, VladCore, Вы писали:

VC>Задачу опиши. То, что в sobjectizer называется диспетчер, в .net является TaskScheduler. Тебе же надо что бы можно было управлять в одном потоке подписчики работали или в разных?


(Насчёт сишного довольно точно — как раз там такое и использовал, хотя и самописным решением.)

Я в принципе в соседнем комментарии описывал что бы мне хотелось видеть (и Event Aggregator примерно то что я хочу). Насчёт потоков — наверно это не принципиально, долгие задачи всё равно будут запускаться в отдельном потоке, хотя автоматическое распихивание по пулу потоков было бы неплохо. А если эта штука сумеет автоматический роутинг сообщений по ключу — то вообще замечательно.

  То что я хочу
class SomeClass1 {
    private readonly IMessageBus messageBus;

    public SomeClass1(IMessageBus messageBus) {
        this.messageBus = messageBus;

        messageBus.Subscribe<SetPageTitleEvent>(SetPageTitle);
    }

    private void SetPageTitle(SetPageTitleEvent evt) {
        ...
    }
}

class SomeOtherClass1 {
    private readonly IMessageBus messageBus;

    public SomeOtherClass1(IMessageBus messageBus) {
        this.messageBus = messageBus;
    }

    public void SomeAction() {
        messageBus.Send(new SetPageTitleEvent {
            Title = "Test title"
        });
    }
}
ARI ARI ARI... Arrivederci!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.