Агрегатор (Aggregator)

Агрегатор (aggregator) — зеркальная противоположность итератора: он берёт множество отдельных пакетов данных и сворачивает их обратно в один элемент. Если итератор разбил один заказ на пять пакетов-позиций, агрегатор снова объединяет результаты — например, собирает все пять в одно письмо-подтверждение заказа или суммирует их цены в общий итог. Почему это важно: после того как вы прошли циклом по списку и обработали каждый элемент, обычно нужен один сводный результат — одно письмо, одна строка отчёта, один API-запрос, — а не пять отдельных. Именно агрегатор снова соединяет разветвлённый или зациклённый поток. В Make их несколько: «Array aggregator», «Text aggregator», «Numeric aggregator». Практический совет: агрегатор ждёт, пока соберёт все входящие пакеты, прежде чем выдать единственный результат, поэтому работает как точка синхронизации в потоке. Правильно указывайте его «исходный модуль» (итератор или роутер, с которого он собирает), иначе он агрегирует не тот диапазон шагов. Для классического паттерна «разбить-обработать-собрать» сочетайте его с итератором.

Похожие термины

Ещё термины: Без кода