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...
 
                                             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
     
         
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 
                