Давайте посмотрим на это так: когда клиент хочет, чтобы получатель выполнил какое-то задание, тогда у клиента есть две опции:
- Позвонить получателю и сказать ему, чтобы он выполнил задачу.
- Позвоните какой-нибудь третьей стороне, которая знает получателя, и третья сторона передаст сообщение получателю.
Первый вариант выглядит лучше, как в сценарии, когда в ресторане нет официанта, который принимает заказ, и вам нужно обратиться к шеф-повару, чтобы сказать ему, что вы хотите.
ИЛИ предположим, что вы потеряли пульт, и вам нужно перейти к телевизору и вручную переключить кнопку.
Это обеспечивает гибкость, позволяющую выполнять команды не только в синхронном режиме, но и в асинхронном режиме.