The Decorator Pattern is a design pattern that allows you to add additional functionality to an object at runtime by wrapping it with a decorator object. The decorator object has the same interface as the original object and adds additional behaviour to it.