Good starting point on pattern languages, ends with useful links.
As a definition of what a pattern is: "a proven solution to a problem in a context. Each one documents a reusable solution, encapsulates knowledge about successful practices, and provides information about its usefulness and tradeoffs... Connected sets of interrelated patterns building on each other can start to form a pattern language, which support a generative, domain specific development process".
It started in architecture but by 1987 was being adopted - by inter alia Ward Cunningham - for interface design, leading to the Pattern Languages of Programming (PLoP) conferences.
"Patterns are ... a three part construct:
Alexander explains that a pattern is both a thing and a process for creating that thing. It describes what you have to do to generate the entity which it defines".
More Stuff I Like
See also: Online Architecture