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:
“If mothers are to be successful in achieving their child-rearing goals, they must have the inner freedom to find their own value system and within that system to find what is acceptable to them and what is not. This means leaving behind the anxiety, but also the security, of simplistic good-bad formulations and deciding for themselves what they want to teach their children.”
—Elaine Heffner (20th century)