For the purpose of discussion within this document, an object-oriented application will also be defined as one that implements an event-driven, object-action user interface such as that specified in the IBM Systems Application Architecture CUA Advanced Guide to User Interface Design. With such an interface, a user first selects an object to manipulate, then selects one or more of a defined set of actions to be performed upon that object. The sequence of these actions, and hence the sequence of the dialog with the user, is controlled by the user rather than by the application, where this is possible within the requirements of the work task being performed.
The concepts of object-oriented design and an object-action user interface are distinct but complementary. While it is possible to design and create an object-oriented application without an object-oriented user interface, it it far more difficult to implement a truly event-driven, object-action style of user interface without embracing, at least a certain degree, the object-oriented approach to design and implementation. It thus follows that the SAA CUA user interface model cannot be fully implemented without some measure of adherence to object-oriented design principles. It is the provision of an intuitive, event-driven user interface that constitutes one of the great strengths of the object-oriented paradigm.