Benefits:
• It reduces the number of objects to deal with.
• It reduces the amount of memory and storage devices required if the objects are persisted.
Applicable Scenarios:
• An application uses a considerable number of objects.
• The storage costs are high because of the quantity of objects.
• The application does not depend on object identity.