Flyweight

The flyweight pattern allows you to support an apparently large number of objects efficiently by sharing a much smaller number of ‘real’ objects. Another rarely used pattern.