A key part of many applications that you might create is data. For a contact app, this could be a list of contact details; for a newsreader, it could be a list of articles; and for a task app, it could be a list of tasks.
In Alloy, data can be integrated into your application using Collections and Models. If you're familiar with backbone.js
, you may well have used Collections and Models already. If you haven't, note that a Model is a data object. In this case, it could be a single task item, so it could consist of a description and a status (complete or not). A collection is a list of models, in this case a list of tasks.
Because models and collections are event-driven, they respond to changes as they happen. This means that as you change a model, say its status being changed to completed, the change is instantly reflected in the model and any collection that contains it.