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 [...]

continue reading.....