Enum come classe singleton o fully functional [duplicate]

0

Joshua Bloch afferma che

"a single-element enumeration type is the best way to implement a singleton"

Perché? Sono totalmente in disaccordo con questa affermazione perché l'enumerazione è di tipo dati con alcune costanti sicure per tipo, come NORTH , SOUTH , WEST , EAST . Penso che Singleton stabile possa essere creato usando la classe con l'aggiunta di un codice di piastra di caldaia. Usare l'enumerazione come oggetto completamente funzionale mi sembra fuorviante. È davvero un buon approccio per farlo?

    
posta Heisenberg 23.01.2015 - 10:16
fonte

1 risposta

2

Ecco perché:

This approach is functionally equivalent to the public field approach, except that it is more concise, provides the serialization machinery for free, and provides an ironclad guarantee against multiple instantiation, even in the face of sophisticated serialization or reflection attacks. While this approach has yet to be widely adopted, a single-element enum type is the best way to implement a singleton.

(dal link )

Non hai letto questo, o non sei d'accordo con il ragionamento di Bloch?

    
risposta data 23.01.2015 - 10:20
fonte

Leggi altre domande sui tag