Separation of Concerns
User actions are fed back to the Presentation Model, which calculates any effects they will have on the underlying data, and immediately updates the view that the user can see, if necessary.
Written in HTML, with appropriate CSS styling, the View defines the actual user interface. HTML elements are bound to "properties" in the Presentation Model using the
The Domain Model contains the application's business logic. It also feeds live data to the Presentation Model, as well as receiving updated information back from it as a result of user input. More information about the Domain Model...
Integration with Caplin Syntax
data-bind attributes are a part of HTML5, that has been built upon by Knockout.JS, but the Presentation Model itself is based on the
caplin.presenter.PresentationModel class. Data in the Presentation Model are stored in Properties, which extend the
caplin.presenter.property.Property class, and in some cases (notably HTML forms), these properties are grouped into fields, which are extensions of the
All Caplin's objects, classes and packages are based around this same format, making it very easy to use Presenter to incorporate any component or function into your interface.