(also known as Wrapper, an alternative naming shared with the Adapter pattern) is a design pattern that allows behavior to be added to an individual object, either statically or dynamically, without affecting the behavior of other objects from the same class.! ❖ - Wikipedia
❖ Decorators mirror type ❖ Adds new functionality around (or in place of) base ❖ Wrap with 0 or more decorators ❖ Transparent, should be orderless ❖ Make sure you’re logging usage well