Any software developer is familiar with the term "Design Patterns". Any good developer uses them on regular basis for various tasks.
So the question arises: "What have they got that we have not?" Automation specialist is a software developer as well, it's just rather specific software that we're talking about. When someone unfamiliar with IT asks me what's my job I usually reply: "I design programs that test other programs". And if this is so then we definitely should have some valid design patterns that will fit our needs.
Let's see which of the patterns deserve automation specialists attention, see what their meaning is and how can they facilitate our lives.