| Pattern Name | Problem | Solution |
|---|---|---|
| Push Domain Model Changes | When one user commits a transaction that updates the domain model on the server, how can a client application display these changes to a different user? | The client registers as an observer of specific model components and the server notifies observers when changes occur. |
| Pull Domain Model Changes | When one user commits a transaction that updates the domain model on the server, how can a client application display these changes to a different user? | The client aborts its transaction periodically, in order to refresh its view of the repository. |