The original definition of a Pattern came not from an engineer, but an architect:
"Each pattern describes a problem which occurs over and over again in our environment, and then describes the core of the solution to that problem, in such a way that you can use this solution a million times over, without ever doing it the same way twice.'' Christopher Alexander.
After Alexander, some OOP gurus took the idea and came with a more technical definition:
"A design pattern systematically names, motivates, and explains a general design that addresses a recurring design problem in objectoriented systems. It describes the problem, the solution, when to apply the solution, and its consequences. It also gives implementation hints and examples. The solution is a general arrangement of objects and classes that solve the problem. The solution is customized and implemented to solve the problem in a particular context."  Design Patterns Book.
But these ideas can be used outside OOP, so in GeneXus the definition can be:
"A pattern systematically names, motivates, and explains a general design that addresses a recurring design problem in GeneXus applications. It describes the problem, the solution, when to apply the solution, and its consequences. It also gives implementation hints and examples. The solution is a general arrangement of Genexus objects that solve the problem. The solution is customized and implemented to solve the problem in a particular context."
See Design Patterns Wiki for more info.
