The binding properties pattern is combining multiple observers to force properties in different objects to be synchronized or coordinated in some way. This pattern was first described as a technique by Victor Porton.[1][2] This pattern comes under concurrency patterns.
Comparison with aspect-oriented implementation
As an alternative to the aspect-oriented implementation of mutual properties, property binding can be proposed. In LibPropC++ C++ library it is implemented too.[3]
Some weakness in the LibPropC++ (with property binding):
Its use is not transparent as it requires to be declared necessary object attributes as properties and appropriate accessor methods must be provided
Binding of attributes in LibPropC++ is not designed to replace method calls
The library does not maintain an interaction history.[3]
Implementation
There are two types of binding. One-way binding should be applied when one of the properties is read-only. In other cases, two-way binding must be applied.[2][3]
Infinite loops can be eliminated by blocking the signal, or comparing the assigned value with the property value before assignment, or eliminating unnecessary assignments.[2][3]
Binding properties with transformations can be achieved through reducing the transformation function to the problem of binding properties, and the function can be imaginary consider as Type Conversions.[2][3]
^ abcdefghijEvermann, J., The Association Construct in Conceptual Modelling - An Analysis Using the Bunge Ontological Model, Wellington, New Zealand: School of Information Management, Victoria University