This is a UML class diagram example for the Flyweight design pattern.
Facilitates the reuse of many fine grained objects, making the utilization of large numbers of objects more efficient.
- Many like objects are used and storage cost is high.
- The majority of each object's state can be made extrinsic.
- A few shared objects can replace many unshared ones.
- The identity of each object does not matter.