Design Patterns Design Patterns are principle for OOP, using it we can make manageable, reusable, scalable software is-a relationship ➡ has-a relationship ⤴