...
ChangeApplier Lifecycle Illustrated
The white text in the model layer (the circles) at the bottom of the diagram is tiny and unimportant.
Notes on the
...
ChangeApplier
The DARApplier ChangeApplier is the newest part of our framework. As model layer infrastructure, the DARApplier it allows components to make requests to the framework for changes in the model. It The ChangeApplier provides a scheme for validation routines to be plugged into this change request pipeline, and for change events to be fired as a result of successful updates to the model.
...
I've come to think that the DARApplier ChangeApplier is one of the more important features of our framework. As Antranig says, it has several main concerns:
1. Allowing users to request that changes be made to the model
2. Providing hooks for event listeners ("guards") to accept or reject the requested change
3. Notifying interested parties about changes that have been accepted in the model
So the DARApplier ChangeApplier solves a common pain point in GUI development: when we have a UI made up of several independent Views, how do we notify them when important changes happen in the data? You've probably all gone through the experience of manually synchronizing changes across views, and it can be tedious work. The DARApplier ChangeApplier combines this notification process with the ability to define "guards," or validator functions, that can ensure the integrity of the model.
...
Each component will have one or more DARAppliersChangeAppliers. Since models tend to take the form of graphs or interrelated networks of objects, you may choose to "detach" a section of the model for a particular concern and use a separate applier.
...