Перейти к основному содержимому

ADR-015. Витрина — это read-model

Контекст

Витрина показывает каталог, лендинги, дорожную карту, преподавателей, отзывы и факты. Возникает соблазн сделать витрину каноническим владельцем продуктов, людей или учебной модели.

Решение

Витрина — read-model и владеет только собственными публичными страницами, блоками, лендингами, формами, отзывами как публикациями и SEO-структурой. Канонические сущности (product, roadmap_topic, user, competition_event) принадлежат соответствующим доменам, витрина показывает их проекции.

Последствия

  • storefront_catalog_item (UI alias catalog_view) ≠ product;
  • storefront_block с roadmap projection (UI alias public_roadmap_view) ≠ roadmap_topic;
  • storefront_public_profile (UI alias public_profile) ≠ identity user;
  • любые правки канонических данных делаются в их доменах.

Связи

  • relates: ADR-002, ADR-023