Во многих статьях, которые я читал в сети о шаблоне разработки Singleton, упоминается, что класс должен переопределить метод clone (), и в нем выдается исключение CloneNotSupported.Действительно ли это необходимо?
Метод clone () по умолчанию защищен, поэтому ни один класс (кроме тех, которые находятся в одном пакете) не сможет вызвать его в этом экземпляре Singleton.Кроме того, если этот Singleton не реализует Cloneable, то даже если этот метод вызывается, он выдаст исключение во время выполнения.Кроме того, поскольку конструктор является частным, мы не сможем его разделить на подклассы и тем самым разрешить его клонирование.Так должен ли я по-прежнему реализовывать этот совет для своих классов в Синглтоне?
РЕДАКТИРОВАТЬ: Просто чтобы уточнить: я не ищу наилучшего возможного способа реализации Синглтона.Я просто спрашиваю о справедливости упомянутого выше совета относительно «обычного» шаблона Singleton (а не Singleton на основе Enum).