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:
“With only one life to live we cant afford to live it only for itself. Somehow we must each for himself, find the way in which we can make our individual lives fit into the pattern of all the lives which surround it. We must establish our own relationships to the whole. And each must do it in his own way, using his own talents, relying on his own integrity and strength, climbing his own road to his own summit.”
—Hortense Odlum (1892?)