Molti articoli che ho letto in Rete sul modello di progettazione Singleton menzionano che la classe dovrebbe sovrascrivere il metodo 'clone()' e al suo interno lanciare l'eccezione 'CloneNotSupported'. E 'davvero necessario?Modello di progettazione di Singleton e prevenzione della clonazione
Il metodo clone() per impostazione predefinita è protetto, quindi nessuna classe (eccetto quelle nello stesso pacchetto) sarà in grado di chiamarla su quell'istanza Singleton. Inoltre, se questo Singleton non implementa Cloneable, anche se questo metodo viene chiamato, darà un'eccezione di runtime. Inoltre, essendo il costruttore privato, non saremo in grado di suddividerlo e quindi consentirne la clonazione. Quindi dovrei ancora implementare questo consiglio per le mie lezioni Singleton?
EDIT: Giusto per chiarire: non sto cercando il modo migliore per implementare Singleton. Sto solo chiedendo la validità del consiglio di cui sopra, w.r.t il normale modello Singleton (e non Singleton basato su Enum).
Stai chiedendo "Se sto creando single nel modo sbagliato, che io non dovrei fare, dovrebbe Sono preoccupato per X ". La risposta è farlo nel modo corretto che rende la tua domanda discutibile. No, non devi preoccuparti di questo. –