Recently the design patterns are well accepted concept of
programming. Probably the most cited book which motivated
many programmers to use design patterns is the well-known
“Design patterns” book [4] written by the “Gang of Four”. This
book introduced original 23 patterns, divided into three
categories (Creational Patterns, Behavioral Patterns and
Structural Patterns). Since then many other design patterns
were proposed [5]. The pattern in software engineering is
understood as a proposal of a solution of a problem in context.
Pattern proposal should define a context, in which the pattern is
useful; the problem which is addressed by the pattern; the
circumstances which play role in forming the solution; and
finally the solution.