MORE PATTERN DEFINITIONS
Riehle and Zullighoven - "A pattern is the abstraction from a
concrete form which keep recurring in specific non-arbitrary
contexts."
Alexander - "Each pattern is a three part rule, which expresses a
relation between a certain context, a problem, and a solution."
Gamma et al. - "solution to a recurring problem in a particular
context, applicable not only to architecture but to software design as
well"