So far, we have looked at a few examples of managed bindings, where the developer needs to explicitly trigger the evaluation of the binding in order to update the target. This kind of approach lets the developer have full responsibility and control over what happens in the application. This means that a normal-sized application may become hard to write/maintain because everything is left to the developer (reducing the advantage of a declarative versus imperative approach, whose simplicity is somehow the background concept for the entire thing), but also that the developer always has the opportunity to fine-tune the binding mechanism, thus keeping everything under control.
Apart from TBindExpression (and TBindExprItems), there are other kinds of LiveBindings available for different purposes. We'll provide an overview of the most significant use cases in the remainder of this chapter.
However, before we look at these LiveBindings, we need...