Definition, synonyms and related words
A structural (and partitioning) design pattern that allows behaviour to be added to an existing object dynamically.