Перечисления, синглтоны и десериализация

Перечисления считаются лучшим способом для синглетонов, и одна из причин этого заключается в том, что они неявно наследуют Serializable,

Но как перечисления предотвращают проблему десериализации синглетонов?

2 ответа

Решение

Механизм сериализации обрабатывает их особым образом. Но традиционные синглтоны могут быть десериализованы нормально, определив readResolve() метод, который возвращает уникальный экземпляр. См. http://www.oodesign.com/singleton-pattern.html для примера.

Сериализация в качестве аргумента для использования enum для singleton - это нонсенс.

Если синглтон enum находится в состоянии, состояние теряется во время сериализации / десериализации.

Если синглтон не имеет гражданства, кого волнует его идентичность?

Другие вопросы по тегам