28 lines
		
	
	
		
			642 B
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			642 B
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ---
 | |
| layout: pattern
 | |
| title: Balking
 | |
| folder: balking
 | |
| permalink: /patterns/balking/
 | |
| categories: Concurrency
 | |
| tags:
 | |
|  - Decoupling
 | |
| ---
 | |
| 
 | |
| ## Intent
 | |
| Balking Pattern is used to prevent an object from executing certain code if it is an
 | |
| incomplete or inappropriate state
 | |
| 
 | |
| ## Class diagram
 | |
| 
 | |
| 
 | |
| ## Applicability
 | |
| Use the Balking pattern when
 | |
| 
 | |
| * you want to invoke an action on an object only when it is in a particular state
 | |
| * objects are generally only in a state that is prone to balking temporarily
 | |
| but for an unknown amount of time
 | |
| 
 | |
| ## Related patterns
 | |
| * Guarded Suspension Pattern
 | |
| * Double Checked Locking Pattern
 |