State Change Events
From Zanecorpwiki
Some events indicate that the system has entered a 'new mode'. Properly managing system state requires a good understanding of how the system moves between states.
System change events are most common in UI components, where user actions change the immediate options available. For instance, clicking on a menu icon may add a new menu of options to the interface.
Parenthesized Events
The events most often occur in a parenthesized fashion. One events creates new options, another event removes the options. Modal dialogs are a good concrete example. Menu selections are another. For example:
'basic interface presentation' ( : click on 'file' menu option 'basic interface with file menu displayed' )( : select 'open file 'model open dialog displayed' ) : file selected
State Machine Events
This means that a state changes in such a way that a return to the previous state is not guaranteed. These kind of events are most often navigation events, such as clicking a tab or link.
For completeness, I'll note that the mode is not necessarily one-in-the-same with the 'state' of the model. Local history, or external events (like new authorizations) may change the states reachable from a mode. In practice, however, it is almost always enough to understand how modes may change. The specific possibilities tend to take care of themselves.
Summary
The following ideas are not presented in any kind of formal way, nor do I recommend one use them as such. It's not necessary or advisable to map state changes explicitly. In many cases, frameworks and UI systems enforce these kinds of concepts at some level themselves. In any case, with these concepts in mind one should be able to write well structured, clear code that expresses the state changes naturally.


