Decorator-patroon
Structureel Gang-of-Four-patroon — een object omhullen en er functionaliteit omheen toevoegen zonder de oorspronkelijke klasse te wijzigen.
Klassiek voorbeeld: BufferedReader(FileReader(...)) — elke laag voegt gedrag toe (gebufferd lezen, gzip, versleuteling). De @decorator-syntaxis van Python is taalondersteuning voor hetzelfde idee, toegepast op het moment van definitie.
Beter dan overerving wanneer functies tijdens runtime gecombineerd moeten worden. Risico: diepe omhullingshiërarchieën zijn lastig te debuggen. Zwaartepunt: I/O-streams, middleware-stacks (Express, ASP.NET) en AOP.