I just came across two patterns.
Strategy Pattern
Decorator
Strategy Pattern :- Strategy pattern
Strategy Pattern :-
Strategy pattern
It boils down to this: Use Strategy to choose one piece of core functionality. Use Decorator to add extra functionality. Strategy is the cake we're making and Decorator is all the pretty decorations we're adding to it.