The Flyweight pattern is a structural GoF design pattern by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides that uses sharing to support large numbers of fine-grained objects efficiently. Instead of holding many separate instances, the system shares common objects among their users, which reduces memory consumption when an application needs very many small objects.

GoF-Flyweight Pattern

Details
Full Name

GoF Flyweight Pattern (Structural)

Intent:

Use sharing to support large numbers of fine-grained objects efficiently.