When an application or software
is designed, this process is called creating design pattern. Whenever a design
pattern is developed, the major purpose behind is to look for the solution of a
particular problem. In object-oriented designs of software, this process is a
lengthy and most difficult one. If one design pattern is developed
successfully, then such experience help designers to come up with more designs
providing more solutions, and it is done by suing the first design pattern,
which was developed earlier. I have used different design patterns to get
solution of different kind. To achieve more flexibility in the design, I have
used decorator design pattern so that an object can handle additional responsibilities,
and perform flexible functions. To control design with better outcome, proxy
design pattern was used to ensure that access on the object is controlled.