> -- Илья Ермаков писал(а):
> Да, я отмечал неоднократно (например, в статье "Некоторые идеи архитектуры Оберон-систем"), что шина сообщений даёт именно двойную диспетчеризацию (виртуализацию).

Да, ее можно использовать для реализации двойной диспетчеризации. Только говорить о какой-то эксклюзивности message bus уже не приходится. В смысле конкретно это пример в случае "прямой" поддержки двойной диспетчеризации будет выглядеть намного приятнее.

> -- Илья Ермаков писал(а):
> Мне лично кажется, что явный оператор (pattern-mathcing, так сказать, по типу сообщения) идейно лучше полиморфизма, т.к. подчёркивает принятие решений именно объектом-обработчиком, а не неким middle-слоем (компилятор, промежуточная таблица и т.п.) Принятие решений может быть сложным и параметризоваться не только типом входящего сообщения, но и внутренним состоянием объекта, получившего сообщение.И хозяин-барин, как оформить этот код обработки - сначала ли дать ветвление по типу сообщения, или по чему-то другому... Введение отдельных методов разрушает это единство.

Аргументы из серии "на асме я могу прыгнуть в середину цикла". Или "зачем мне AWAIT если есть критические секции и мьютексы"Двойная диспетчеризация более высокоуровневый механизм. Если вам нужно учесть внутреннее состояние и еще не знаю какие детали - пожалуйста, используйте более низкоуровневый (со всеми вытекающими) механизм.