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 object-oriented 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.