Fragmented - Android Developer Podcast

018: Effective Java for Android developers : Item 3

Informações:

Sinopse

In this mini Fragment, we introduce Joshua's third Item: Enforce the Singleton property with a private constructor or an enum type. Stay tuned for more items from our "Effective Java for Android developers" Fragment series. Show Notes Effective Java (2nd Edition) - Joshua Bloch Enforce the Singleton property with a private constructor or an enum type Approaches Create a public static final INSTANCE variable and privatize constructor Same as 1 but privatize variable and expose access with provide factory method getInstance Single element Enums Considerations First two approaches are open to Serialization attacks (deserializing creates new instance) To protect from those declare the fields transient + provide readResolve method Enums are concise, provide free serialization and ironclad Singleton guarantees and are functionally equivalent to first approach Supplemental reading (for the diligent ones that follow shownotes) Dianne Hackborn regretting exposing the base Application class DH again sa