The Flyweight design pattern solves problems like:
How can large numbers of fine-grained objects be supported efficiently?
See Applicability section for all problems Flyweight can solve. See Solution section for how Flyweight solves the problems.