UI data binding is a
software design pattern
In software engineering, a software design pattern is a general, reusable solution to a commonly occurring problem within a given context in software design. It is not a finished design that can be transformed directly into source or machine c ...
to simplify development of
GUI applications. UI
data binding binds UI elements to an application
domain model. Most frameworks employ the
Observer pattern
In software design and engineering, the observer pattern is a software design pattern in which an object, named the subject, maintains a list of its dependents, called observers, and notifies them automatically of any state changes, usually by ...
as the underlying binding mechanism. To work efficiently, UI data binding has to address
input validation and data type mapping.
A ''bound control'' is a
widget whose value is tied or
bound to a field in a
recordset A recordset is a data structure that consists of a group of database records, and can either come from a base table or as the result of a query to the table.
The concept is common to a number of platforms, notably Microsoft's Data Access Objects ...
(e.g., a
column
A column or pillar in architecture and structural engineering is a structural element that transmits, through compression, the weight of the structure above to other structural elements below. In other words, a column is a compression member ...
in a
row
Row or ROW may refer to:
Exercise
*Rowing, or a form of aquatic movement using oars
*Row (weight-lifting), a form of weight-lifting exercise
Math
*Row vector, a 1 × ''n'' matrix in linear algebra.
*Row (database), a single, implicitly structured ...
of a
table). Changes made to data within the control are automatically saved to the database when the control's exit
event triggers.
Example
public class ExampleViewModel
Data binding frameworks and tools
Delphi
Delphi (; ), in legend previously called Pytho (Πυθώ), in ancient times was a sacred precinct that served as the seat of Pythia, the major oracle who was consulted about important decisions throughout the ancient classical world. The oracl ...
*
DSharp
Derryck Gleaton (born 30 August 1988), better known as DSharp, is an American violinist, DJ, singer and producer based in Atlanta, Georgia. Known for his trademark colored violins, he writes his own music and performs cover versions of popular so ...
third-party data binding tool
*
OpenWire Visual Live Binding - third-party visual data binding tool
Java
*
JFace Data Binding
*
JavaFX Property
.NET
*
Windows Forms data binding overview
*
WPF data binding overview
* Unity 3D data binding framework (available in modifications for NGUI, iGUI and EZGUI libraries)
JavaScript
*
Angular
*
AngularJS
AngularJS is a discontinued free and open-source JavaScript-based web framework for developing single-page applications. It was maintained mainly by Google and a community of individuals and corporations. It aimed to simplify both the developm ...
*
Backbone.js
*
Ember.js
Ember.js is an open-source JavaScript web framework that utilizes a component-service pattern. It allows developers to create scalable single-page web applications by incorporating common idioms, best practices, and patterns from other single-pa ...
* Datum.js
*
knockout.js
*
Meteor
A meteoroid () is a small rocky or metallic body in outer space.
Meteoroids are defined as objects significantly smaller than asteroids, ranging in size from grains to objects up to a meter wide. Objects smaller than this are classified as mic ...
, via its ''Blaze'' live update engine
*
OpenUI5
*
React
*
Vue.js
See also
*
Data binding
References
Data management
Software design patterns
{{database-stub