Enumlar, singletonlar için en iyi yol olarak kabul edilir ve bunun nedenlerinden biri, dolaylı olarak Serializable
'u miras almasıdır.Enums, Singletons ve Deserialization
Ancak enumlar tekillerin serileştirme sorununu nasıl önler?
Enumlar, singletonlar için en iyi yol olarak kabul edilir ve bunun nedenlerinden biri, dolaylı olarak Serializable
'u miras almasıdır.Enums, Singletons ve Deserialization
Ancak enumlar tekillerin serileştirme sorununu nasıl önler?
Serileştirme mekanizması, bunları special, specific way'da işler. Ancak, geleneksel singletonlar, benzersiz örneği döndüren readResolve()
yöntemini tanımlayarak iyi seri hale getirilebilir. Örnek için http://www.oodesign.com/singleton-pattern.html'a bakın.
Tekton için enum kullanmak için argüman olarak serileştirme saçmalıktır.
Enum tekil durum bilgisi varsa, seri hale getirme/serileştirme sırasında durum kaybedilir.
Singleton durumsuzsa, kimliği kimin umurunda?
Tekil, durum bilgisi olmayansa ve kod (örneğin) if (someVar == SomeSingleton.INSTANCE) 'kullanıyorsa, kimliğini gerçekten önemsersiniz. –
Gerçek dünya kullanım durumu yok. Jushua Bloc bu şeyi hazırladı. Genellikle bir tekil serileştirmeyi kolaylaştırmak için enum kullanarak, yine de seri hale getirilmemelidir yanlıştır. Ayrıca, singleton bir uygulama stratejisidir, arayüzde tanıtmamız gereken bir şey değildir. – irreputable
Enum bir tekildir, ancak tektonların serileştirme problemleri nelerdir? – clinton
@clinton: eğer seri hale getirilebilen tek bir seri yaparsanız ve seri hale getirilmediyse, tektonizmin her defasında tektonuzun yeni bir örneğini alırsınız. –
@JBNizet bilgi için teşekkürler. Şimdiye kadar singletons ile ilgili bu konuya bakmamıştım. Ya da beni önemli olarak vurmamış olabilir. – clinton