Информация об изменениях

Сообщение Re[2]: Шина сообщений от 02.10.2019 8:47

Изменено 02.10.2019 8:48 Somescout

Re[2]: Шина сообщений
Здравствуйте, MadHuman, Вы писали:


S>>ЗЫ. Желательно что-то простое и удобное.

MH>а чем штатный event не подходит?

Тем что нужно инжектить класс его содержащий непосредственно в компоненту, в которой им предполагается пользоваться. А хотелось бы что-то вроде:


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 SomeClass1(IMessageBus messageBus) {
        this.messageBus = messageBus;
    }

    public void SomeAction() {
        messageBus.Send(new SetPageTitleEvent {
            Title = "Test title"
        });
    }
}


То есть отправитель пуляет сообщение, а кто его получит и что с ним сделает его не волнует.
Re[2]: Шина сообщений
Здравствуйте, MadHuman, Вы писали:


S>>ЗЫ. Желательно что-то простое и удобное.

MH>а чем штатный event не подходит?

Тем что нужно инжектить класс его содержащий непосредственно в компоненту, в которой им предполагается пользоваться. А хотелось бы что-то вроде:


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"
        });
    }
}


То есть отправитель пуляет сообщение, а кто его получит и что с ним сделает его не волнует.