| 
  | 
| Responsibility division by pre and postconditions | 
 Preconditions and postconditions can be used to divide the responsibility
                         between classes in an object-oriented program  | 
  | 
  | 
Blame the caller if a precondition of an operation fails Blame the called operation if the postcondition of an operation fails  |