what has worked or what has not worked in the past. Architect Christopher Alexander introduced the concept of a design pattern, which is a reusable solution to a design problem. This idea has been adapted to other fields and is especially popular in computer science.