| Purpose | Use Observer when:
      
 The Observer pattern requires centralizing state in a model (aka subject or Observable). A before & after structure are given below.    | 
    
| Structure |    | 
    
| Consequences | Creates classes. | 
| Implementation | 
      
  | 
    
| Sample Code | Model.java, View.java | 
    
| Related Patterns |