Flyweight
In plain terms
A pattern that shares common state to save memory.
Going deeper
The Flyweight pattern minimizes memory by sharing immutable intrinsic state across many similar objects, keeping only unique state separate. It deduplicates shared data.
Under the hood
Splits intrinsic (shared) from extrinsic (contextual) state; useful for huge numbers of similar objects.
Examples
Text rendering (glyphs), game particles, caching shared objects, memory optimization.
Think of it like...
Like reusing one master copy of a character's glyph for every place it appears in a document.