The balking pattern is a software design pattern that only executes an action on an object when the object is in a particular state. For example, if an object reads ZIP files and a calling method invokes a get method on the object when the ZIP file is not open, the object would "balk" at the request. In the Java programming language, for example, an IllegalStateException might be thrown under these circumstances.
There are some specialists in this field who think this is more of an anti-pattern, than a design pattern. If an object cannot support its API, it should either limit the API so that the offending call is not available or so that the call can be made without limitation, it should:
- Be created in a sane state
- Not make itself available until it is in a sane state
- Become a facade and answer back an object that is in a sane state
Read more about Balking Pattern: Usage, Implementation
Famous quotes containing the word pattern:
“For the man who should loose me is dead,
Fighting with the Duke in Flanders,
In a pattern called a war.
Christ! What are patterns for?”
—Amy Lowell (18741925)