Привязки

Почему именно такое название? Привязки называются именно так, потому что они привязывают различные данные друг к другу подобно тому, как вы привязываете что-нибудь в реальном мире. В этом и заключается весь смысл - крепко прикрепить что-либо к чему-либо.

В случае с AggreGate, привязки позволяют связать какие-либо данные с другими. Например, элементы инструментальной панели могут быть связаны с сохранёнными на стороне сервера в «снимке» устройства.

Система привязок AggreGate работает в виджетах, моделях, классах и других модулях. Она помогает привязать внутренние элементы модуля, такие как компоненты виджета или экземпляры класса, друг к другу и другим формализованным элементам единой модели данных.

Каждая привязка может срабатывать при запуске какого-либо компонента системы (например, инструментальной панели), при изменении переменной, по событию или периодически. У привязки есть выражение, которое обращается к указанным в нём переменным в единой модели данных, обрабатывает их согласно заданной логике и конвертирует в результат. Также у привязки есть цель - место, куда будет записан результат выражения при обработке привязки.

Привязки могут самостоятельно анализировать ваши выражения и оптимизировать свою работу. Например, если выражение вашей привязки выглядит как power = {voltage} * {current}, то привязка будет автоматически выполняться при изменении значения каждой из переменных.

Пример:

У вас есть недоступное для изменения текстовое поле (выделенное серым цветом). Данное текстовое поле может иметь рядом контрольную кнопку «Включить данную настройку?». Как только контрольная кнопка нажата, текстовое поле становится белым (включенным), и теперь вы можете в него что-нибудь вписать. Все это происходит в результате привязки данных - значение контрольной кнопки (Включено или Отключено) привязано к состоянию текстового поля (Включено или Отключено).

Параллельное выполнение привязок позволяет системным архитекторам оптимизировать потребление ресурсов платформы в зависимости от среды, в которой она развёрнута – правильная конфигурация гарантирует работу как на одноплатных компьютерах, так и в крупных распределённых инсталляциях.