Decorator pattern provides 2 main features:
1. It attaches additional responsibilities to an object dynamically.
2. It provides a flexible alternative to sub-classing for extending functionality.
Here I am going to use D&D character creation as an example although I feel it is better to use Factory pattern instead but for the sake of this tutorial, let’s just [...]