For the use of the word "pattern" in the field of architecture, see Pattern (architecture). An architectural pattern is a general, reusable resolution to a commonly occurring problem in software architecture within a given context.[1] The architectural patterns address various issues in software engineering, such as computer hardware performance limitations, high availability and minimization of a