Design Patterns
![Design Patterns Logo Image](https://bgasparotto.com/wp-content/uploads/2016/11/design-patterns-logo-2.png)
Design patterns are a collection of abstract solutions to recurrent problems in object-oriented software development. These solutions are presented like templates that can be applied in many situations and programming languages, but with similar structures, providing a design which contributes to system’s flexibility, extensibility, portability and code reuse.