Decorator Design Pattern

  Decorator pattern is used to add additional responsibility/ functionality to existing behaviour of an object without altering its original structure. This pattern creates a decorator class which is wrapper to the existing class and provides additional functionality keeping class methods signature intact. The decorator pattern uses composition providing a flexible alternative to