The notion of ‘pattern’ originates in the work of Christopher Alexander and, in recent years, patterns have become a popular part of software development. A pattern is defined as a ‘three-part rule’: a relationship between a given context, a recurring system of forces peculiar t…