Messaging System
FOX offers a transparent bi-directional messaging system. Each Widget sends its message to a certain target. Each message is composed by a selector that identifies its kind and an id that is unique and provided by the widget's enumeration. The advantage is that each widget can call a target widget's method in a transparent manner, even if the method does not exist. Vice versa, in the implementation of the individual message handler, since the sender is known, the target can also dispatch a message to the sender. This is a particularly important feature in component oriented software, where components may be written by different people, or even different organizations.
The FOX messaging system simplifies the GUI update strategy: during widget update, the widgets can ask from their targets to update them. This means that a command message does not also have to explicitly update any widgets as it is typical. In case an application implements N command messages each updating M widgets, then M*N updates must be executed and at most M*N messages must be implemented. On the other hand, if widgets request for update, only N command messages and at most M update messages are implemented. This strategy separates the GUI update from data changes, making the GUI a real-time reflection of the underlying data structures.
Read more about this topic: Fox Toolkit
Famous quotes containing the word system:
“For the universe has three children, born at one time, which reappear, under different names, in every system of thought, whether they be called cause, operation, and effect; or, more poetically, Jove, Pluto, Neptune; or, theologically, the Father, the Spirit, and the Son; but which we will call here, the Knower, the Doer, and the Sayer. These stand respectively for the love of truth, for the love of good, and for the love of beauty.”
—Ralph Waldo Emerson (18031882)