Genellikle veri depolamayı gerektiren uygulamalar oluşturur ve bu veriler tüm program boyunca kullanılır. Çok fazla değil, bu yüzden bu verileri yüklemek/kaydetmek için genellikle NSUserDefaults
kullanıyorum. Bununla birlikte, kaydetme/yükleme kodu, verilerin paketlenmesi/paketinin açılması ile birlikte yer kaplar ve bu kodu küresel bir tektonun içinde yeniden kullanılabilir yöntemlere taşımanın iyi bir fikir olacağını düşünmüştüm. İyi çalışmış gibi görünüyor. Yine de, son zamanlarda, singletonların ve küresel nesnelerin kötülüklerine çok şey okudum ve ikinci düşüncelere sahip olmaya başladım. İnsanlar genellikle, tekillerin kullanımının neredeyse her zaman kötü tasarımın bir göstergesi olduğunu söylüyorlar. Çoğunlukla, katılmıyorum (bunun gibi basit kullanımların iyi bir tasarım deseni olduğunu düşünüyorum), ama kesinlikle bu konuda uzman değilim.Tekil bir veri yöneticisi sınıfı kötü mü kullanıyor?
Yani, bu kadar basit bir şekilde bile tekil kullanmaktadır? Eğer öyleyse, daha iyi bir alternatif nedir?
Hayır, fena değil, hiç de fena değil. Apple tarafından sağlanan bir dizi iOS SDK sınıfının singleton olarak uygulandığını unutmayın. Bu, Apple kodunun otomatik olarak iyi bir kod olduğunu söylemez, ancak singleton şablonunun, kullanmadan kaliteden ödün vermediği anlamına gelir. – aroth