System Overview - Flyweight pattern
The Flyweight pattern helps save memory by sharing common parts of objects instead of creating many copies. It is useful when many similar objects are needed, like characters in a text editor or icons in a UI. The key is to separate shared data (intrinsic) from unique data (extrinsic) to reduce memory use.