Простыми словами
Представьте систему, где данные постоянно добавляются и меняются, а несколько компонентов читают их в разное время. Нужно заранее определить, как не потерять изменения, не обработать одно и то же дважды и не заставить базу выполнять лишнюю работу. Так работа с данными остаётся предсказуемой даже тогда, когда объём растёт и изменения происходят между двумя запросами. Поэтому заранее определяют, какие данные считаются правильными и что произойдёт при параллельных изменениях или сбое.
Пример при разработке
В проекте команда фиксирует практику «Миграция Expand and Contract» как отдельное правило, добавляет автоматическую проверку и наблюдаемый критерий результата.
Это редакционный пример применения, а не часть определения или доказательство концепции.Формальное определение
Сначала схема расширяется совместимыми полями, затем данные и клиенты мигрируют, и только после этого старые элементы удаляются.
Механизм действия
Для «Миграция Expand and Contract» команда задаёт явные границы, проверяемый контракт и сигнал, по которому видно соблюдение или нарушение правила.
Пример в работе
Использовать «Миграция Expand and Contract» как термин без владельца, критерия и проверки реального поведения.
Связать «Миграция Expand and Contract» с конкретным риском, тестом или метрикой и пересматривать правило при изменении контекста.
Ограничения
Практика «Миграция Expand and Contract» решает ограниченную задачу и не заменяет анализ всей системы, проверку исходных допущений и измерение побочных эффектов.
Источник
Microsoft, “Cloud Design Patterns”, 2026.