Я использую ActionScript3 для разработки уровня доступа к данным для приложения, над которым работает другой разработчик в моей команде. Один из объектов, назовем его User, строить дорого. У каждого пользователя есть уникальный идентификационный номер, поэтому я могу сказать, были ли они созданы раньше или нет, и все объекты User хранятся в массиве где-то еще.
Я хочу иметь возможность ограничить его, чтобы для каждого идентификатора мог быть только один экземпляр User. т.е. каждый пользователь должен быть уникальным, и запросы на уже созданный User должны получать предварительно созданный User.
Если бы я использовал разумный, хорошо спроектированный язык, я бы просто сделал его частным конструктором и заставил бы все запросы к объекту проходить через функцию, которая кэширует вещи. Но flash не поддерживает частные конструкторы (только общедоступные и внутренние, ни один из которых не будет работать). Как я могу этого добиться?