Decorator design pattern
- GOF Design Pattern
In software engineering, the common intent of all GOF structural patterns is to simplify the complex relationship between objects and classes in a flexible enterprise application. The decorator pattern is a special type of design pattern among these that comes under the structural design pattern, which allows you to add and remove behaviors for an individual object at runtime dynamically or statically, without changing the existing behavior of other associated objects from the same class. This design pattern does this without violating the Single Responsibility Principle or the SOLID principle of object-oriented programming.
This design pattern uses the compositions over the inheritance for objects associations; it allows you to divide the functionality into different concrete classes with a unique area of concern.
Benefits of the Decorator design pattern
- This pattern allows you to extend functionality dynamically and statically without altering the structure of existing objects
- By using this pattern, you could add a new responsibility to an object dynamically
- This pattern is also known as Wrapper
- This pattern uses the compositions for object relationships to maintain SOLID principles
- This pattern simplifies coding by writing new classes for every new specific functionality rather than changing the existing code of your application