# Design Patterns

[Design Patterns: Elements of Reusable Object-Oriented Software](https://www.goodreads.com/book/show/85009.Design_Patterns) #book

[*Dive Into Design Patterns*](https://refactoring.guru/design-patterns/book) #book - "**Design patterns** help you solve commonly-occurring problems in software design. But you can’t just find a pattern and copy it into your program, the way you can with off-the-shelf functions or libraries. A pattern is not a specific piece of code, but a general concept for solving a particular problem. They are like pre-made blueprints that you can customize to solve a recurring design problem in your code."

[Head First Design Patterns](https://www.goodreads.com/book/show/58128.Head_First_Design_Patterns) #book - by Eric Freeman,  Kathy Sierra, Bert Bates, Elisabeth Robson

[Introduction to Algorithms](https://www.goodreads.com/book/show/108986.Introduction_to_Algorithms) #book - by Thomas H. Cormen,  Charles E. Leiserson, Ronald L. Rivest, Clifford Stein

[Refactoring to Patterns](https://www.goodreads.com/book/show/85041.Refactoring_to_Patterns) #book - by Joshua Kerievsky,  Martin Fowler (Foreword by), Ralph Johnson (Foreword by)
