1. design patterns in software engineering is a general reusable solution to common occurring problems. It is a description and template to solve