Exploring how to implement in Ada the View-Model paradigm like the Apple’s SwiftUI Windowing system.
- Views supports a declarative approach of its content, and are not driven by outside clients or programs
- Each View owns his data structure representing the state of that view
- The view changes it’s appearance or the data displayed through a change in data of the state object
- Updating data in the State object will trigger the update of the View
- The Business Model Unit - or main program - only communicates with the View through the state object.
- Views are first-class task objects
- State data is accessible through a protected object
- State Data definition is declared in a specific unit
- Updating data in the State object will call the registered callback procedure linked to the update entry in the View task object
- In order to communicate with a protected object, The Business Model Unit - or main program - has to be a task object.