As we saw earlier, the view in MVC updates itself, based on change events it receives from the model. A number of Model-View-Whatever (MVW) frameworks took this approach and embedded the observer pattern in the core of their change detection mechanism.
Improving change detection
Classical change detection
Let's take a look at a simple example, which doesn't use any framework. Suppose, we have a model called User, which has a property called name:
class User extends EventEmitter { private name: string; setName(name: string) { this.name = name; this.emit('change'); } getName(): string { return this.name; } }
The preceding snippet again uses TypeScript. Do not worry if the syntax...