The CHECKS Pattern Language of Information Integrity

In 1994, Ward Cunningham brought his CHECKS Pattern Language of Information Integrity to the first software-patterns conference — Pattern Languages of Programming, or PLoP (see Chapter 5). This language contains ten patterns for telling good input from bad. It also describes recording the fact that the input was bad and continuing processing even with the bad input. The methods are designed to make the checks without overly complicating your program or making them inflexible for future changes.

The ten patterns included in the language are

  • Whole Value
  • Exceptional Value
  • Meaningless Behavior
  • Echo Back
  • Visible Implication
  • Deferred Validation
  • Instant Projection
  • Hypothetical Publication
  • Forecast Confirmation
  • Diagnostic Query

CHECKS appears in Pattern Languages of Program Design, by James O. Coplien and Douglas C. Schmidt (Addison-Wesley). A version of CHECKS is available on the web at www.c2.com/ppr/checks.html.

images

I include a language of ten patterns here because CHECKS is an early example of a small number of patterns that work together to solve a problem powerfully. Better yet, it's still useful!

Get Pattern-Oriented Software Architecture For Dummies now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.