Implementations
A functional based system approaches all user interface actions as interfaces for functions. Dialogs exist solely to collect parameters for functions that are called when the dialog is closing. Menu Trees are one family of model implementations that follow this pattern.
Grammar based UIMS provide a specialized language for describing the user interface. Usually, this is a special language designed specifically for the presentation of user interface elements.
The Editing Model is a specialization of grammar based UIMS. They present all interaction as direct presentations of underlying presentation objects. Essentially, using the grammar of the programming language as the grammar for the GUI. A scroll bar may present an integer, a check box may present a boolean, a function is presented as a button or menu item. A dialog box or a menu is a presentation of a complex object containing properties and functions. A controller layer automatically synchronizes the object with the presentation and vice-versa through a two way connection provided by an Observer pattern. Enable/disable and validation present special challenges under the editing model, but they can be dealt with. A commercial program, ViewSoft Internet, was briefly available in the 1990s that implemented a general purpose GUI builder based upon the Editing Model.
Transition Networks present the user interface logic as a kind of intelligent flowchart. In an Event Language model, the computer language is designed around the handling of events. This is essentially the approach taken in Microsoft's .Net languages C# and Visual Basic.Net with their delegate and event language structures.
Other models include Hypertalk, Production Systems and Declarative Languages.
Read more about this topic: User Interface Management Systems