In Object-oriented programming, Design Patterns are solutions to commonly occurring problems in Software Design.
Feel free to add many more patterns as defined in the Gang of Four book.