Name: Flyweight Intent: - share equal instances (copies) of a some class of interest (share as opposed to construct new equal copies) Structure: - when an object is constructed, save a reference - the reference is saved in a central repository - when a object is needed, check the repository, and if it has been constructed already, return the reference without constructing. - Flyweight objects may be immutable - Flyweight class should be a singleton Notes: - related to factories - ObjectPool