Writing Software Patterns - Excercises

Comprehension questions

  1. What are the differences and similarities between cookbooks and pattern books?
  2. What are the main characteristics of patterns? Name at least three key features of them.
    • chunking information, naming a solution, recurrence/core of the solution
  3. What do you understand by:
    1. recurrence of the pattern?
      • solution must be applicable in different situations
    2. core of the solution?
      • a deeper similarity of problems
  4. Why are ordinary solutions so important? How can they help in writing software?
    • e.g. by providing well-known and tested solutions for new problems
  5. Explain how patterns can be used as a communication technique.

Further exercises

Are the following statements TRUE or FALSE?

  1. The author defines a pattern as the solution to a problem in a context.
  2. According to the author of the text, dividing knowledge up simplifies writing software.
  3. If you find a solution to a singular problem, it’s completely useless as a pattern.
    (FALSE, you can evolve it into a wide-context solution)
  4. In the author’s opinion, recipes are more general than patterns and you can basically learn principles from them.
  5. The main similarity between recipes and patterns is the idea of chunking information to make finding answers for particular questions easier.
  6. The author recommends using patterns in all possible situations.

Find words or phrases in the text that match the folowing meanings:

  1. break up, divide up something (e.g. information, text); [chunk up]
  2. to try to find a piece of information in a book or on a computer; [look up]
  3. affecting or relating to a person or thing; [applicable]
  4. make a useful contribution to a discussion; [bring to the table]
  5. release (e.g. results); [spit out]
  6. belief or idea, approach to some problem [notion]

Possible topics for discussion

Possible difficulties

No difficulties should be found in the article.

Reading suggestions

Possible links to other topics