Полагаю, вы думаете о шаблоне Identity Map , описанном Мартином Фаулером .
В своем полном описании шаблона (в своей книге) Фаулер обсуждает проблемы реализации для объектов чтения / записи (тех, которые участвуют в транзакциях) и только для чтения (справочные данные, которые в идеале должны читаться только один раз, а затем кэшироваться в памяти).
Я предлагаю получить его превосходную книгу, но выдержка, описывающая этот шаблон, читается в Google Книгах (ищите «карту идентичности Фаулера»).
По сути, карта идентификации - это объект, который хранит, например, в хеш-таблице, объекты сущностей, загруженные из базы данных. Сама карта хранится в контексте текущего сеанса (запроса), предпочтительно в единице работы (для объектов чтения / записи). Для объектов, доступных только для чтения, карта не должна быть привязана к сеансу и может храниться в контексте процесса (глобальное состояние).