In the 1980s, Kent Beck and Ward Cunningham applied Alexander's patterns to object-oriented design. Patterns pass knowledge from experts to other practitioners. They distill experience into a form that can be applied easily to new manifestations of familiar problems. Patterns are not algorithms, reusable code, or data structures. They are descriptions of objects and collaborations that you can apply in a specific context.
Patterns encourage modular thinking.
When you use them, you isolate specific aspects of the problem you're solving, and this analysis lends itself well to developing portions of your applications as classes or modules. The result is that you'll have a better chance of reusing those classes or modules in the future. Even if you can't reuse them, you benefit from a deeper understanding of the problem. It's a well-trodden path, which is all the more reason to avoid hacking your own route each time. By learning a number of development patterns, you can create solutions that use an amalgamation of cooperating patterns.