Balking Pattern

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:

    It is a very true and expressive phrase, “He looked daggers at me,” for the first pattern and prototype of all daggers must have been a glance of the eye.... It is wonderful how we get about the streets without being wounded by these delicate and glancing weapons, a man can so nimbly whip out his rapier, or without being noticed carry it unsheathed. Yet it is rare that one gets seriously looked at.
    Henry David Thoreau (1817–1862)