Предположим, что ремонтная мастерская хотела вести постоянный учет только добавок всех автомобилей, которые когда-либо посещали, чтобы владельцы каждой машины могли узнать, было ли это раньше в магазине. Что было бы лучше:
- Вести постоянный учет VIN (идентификационного номера транспортного средства) каждого автомобиля.
- Сделайте дубликат каждого автомобиля (который, поскольку VIN должен быть уникальным, должен иметь VIN, отличный от оригинала), и постоянно храните дубликаты автомобилей.
Обратите внимание, что сам автомобиль является изменяемым объектом, но идентификатор автомобиля, выраженный VIN, является неизменным. Вполне возможно, что автомобиль, который был синим, когда он посетил магазин, был окрашен в красный цвет. Таким образом, даже если бы у кого-то была возможность легко определить местонахождение любого автомобиля по его VIN, список автомобилей (VIN) и когда они были в магазине, не позволили бы определить, например, сколько синих автомобилей было обслужено в прошлый четверг. С другой стороны, если цель списка - дать понять, был ли входящий автомобиль в магазине ранее, список VIN - это именно то, что нужно. Если бы вместо того, чтобы иметь VIN, у каждого была бы коллекция дублирующих автомобилей, то стоимость создания и хранения всех этих дублирующих автомобилей была бы не только намного выше, чем стоимость хранения VIN, но коллекция была бы практически бесполезной для заявленного цель (определение того, посещал ли конкретный автомобиль ранее).