По ТРИЗ - любая система развивается в сторону увеличения динамизма

Декларативное целеполагание - архитектурный подход, для упрощения разработки программных систем, обладающих высокой степенью динамизма.

Задачи, которые решает подход:
  1. устранение сложности из высокодинамичных систем
  2. производительность, эффективность систем
  3. безопасное использование чужого кода

Сейчас в программирование эти понятия не разделяются. Не считается дурным тоном перемешивать код, которые связывает структуры данных и код, который обеспечивает вычисление результата

Геттеры, сеттеры, промисы, колбеки - вещи, которые связывают зависимые части — они не должны быть перемешаны с вычислениями

Основная идея решения - разделить код на части.

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

Конечный разработчик должен лишь описывать взаимосвязи и способы вычислений состояний, а система должна реализовывать и поддерживать актуальное состояние на основе этих описаний и способов вычислений.

Описание взаимосвязей (деклараций) состоят из трёх частей
  1. Описание результата получаемого на выходе из компонента
  2. Перечень компонентов, от которых зависит данный компонент
  3. Способ вычисления результата

P.S.
Почему программирование менее развито чем кулинария
Декларативное целеполагание на примере seesu.me