Декларативное целеполагание - архитектурный подход, для упрощения разработки программных систем, обладающих высокой степенью динамизма.
Сейчас в программирование эти понятия не разделяются. Не считается дурным тоном перемешивать код, которые связывает структуры данных и код, который обеспечивает вычисление результата
Геттеры, сеттеры, промисы, колбеки - вещи, которые связывают зависимые части — они не должны быть перемешаны с вычислениями
Решение в том, чтобы сделать описание взаимосвязей доступным для анализа, без выполнения приложения - для того чтобы автоматизировать реализацию и актуализацию состояний системой.
Конечный разработчик должен лишь описывать взаимосвязи и способы вычислений состояний, а система должна реализовывать и поддерживать актуальное состояние на основе этих описаний и способов вычислений.
P.S.
Почему программирование менее развито чем кулинария
Декларативное целеполагание на примере seesu.me