В сценариях, с которыми я работал, мы используем кэш представлений, чтобы быть предварительно рассчитанным представлением объекта, который мы хотим визуализировать. Даже если события (мы используем EDA) происходят из разных доменов, у нас есть обработчики, которые поддерживают кэши представлений, чтобы мы могли иметь информацию, которую хотим отображать, в состоянии, подходящем для составного интерфейса пользователя. Цель, к которой мы стремимся, состоит в том, чтобы «select *» или «select * where ID =» были единственной формой запроса к кешу представления. На некоторых страницах отображается несколько DTO, но нам не нужно присоединяться к ним. Если мы чувствуем необходимость присоединиться, мы делаем это на этапе предварительного расчета, когда обрабатываем сообщения, содержащие информацию, которую мы хотим сохранить в кэше представления.