Have you ever wondered why is always the menu located in an upper corner from the most of apps ? well, if you did, you are at the right spot; but, if you didn’t, i recommend you to stay, because we are about to dig into some gold.
Humans, despite having the capability to adapt, can feel uncomfortable when ran into an unfamiliar situation or environment. The designers realized about this, and they started to create patterns to make our lives easier and a much pleasant experience. This concept, known as Design Patterns, is almost everywhere, from buildings to a web page, and it is one of the most useful guides in the development of any project.
Design patterns were not only intended for UX, in fact, the concept born in the building world, based on this idea:
«Each pattern describes a problem which occurs a lot of times in our environment, including the solution to it; so, this solution can be used forward without having to think it again.»Cristopher Alexander
Kent Beck and Ward Cunningham realized how this concepts could be applied in the new OO paradigm, so they published an article entitled Using Pattern Languages for OO Programs. A couple years later, the gang of four wrote the book Design Patterns, which you can read if you want to learn more.
So, basically, design patterns are a set of reusable elements in the design of software systems that try to avoid the search of solutions to problems which are already solved. Somehow, dp create standards for the vocabulary of the designers and also, standardize the way in which things are created (a better UX). However, design patterns does not impose some alternatives to another, its just a guide; and, of course, this is not an attempt to eliminate creativity in the design process.