Decorator Pattern Attaches additional responsibility to an object, dynamically. Example - coffee+toppings (addons) price calculation. UML diagram: