ABSTRACT

A design pattern is a general reusable solution to a problem that occurs over and over again in software design. A design pattern has four essential elements: the pattern name, the problem, the solution, and the consequences (Gamma et al., 1994).