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:
“The human body is not a thing or substance, given, but a continuous creation. The human body is an energy system ... which is never a complete structure; never static; is in perpetual inner self-construction and self-destruction; we destroy in order to make it new.”
—Norman O. Brown (b. 1913)