Benim tasarım faaliyetlerinin çift için veritabanı üzerinde özel yöntemlerle, bir Singleton her veritabanı uygulamak sayede küçük bir veritabanı soyutlama, (iyi, bir object
) içermektedir kod aramalar (o ilginç istatistikler damping ağırlıklı bir günlük ayrıştırıcı var bir veritabanı).Scala'da, bir Singleton'u bir kurucuya nasıl verebilirim?
Mümkünse Singleton veritabanı sınıflarını oluşturmak istiyorum, böylece çalışma zamanında her biri yapılandırma değerleriyle yapılandırılır (ve bu değerler programın çalışma zamanının geri kalanı için sabit kalır). Bu da kodu daha iyi test etmeme izin verir (Mockito veya benzeri bazı veritabanlarını kullanabileceğim gibi).
Hala Scala'yı öğreniyorum, ama bir Singleton'a bir kurucu eklemenin bir yolu yok gibi görünüyor ve bu sorunla ilgili herhangi bir girdi için minnettarım - yaptığım şeyi yapmanın daha iyi bir yolu var mı? Bir Singleton yapmanın tercih edilen bir yolu var mı?
Herhangi bir yardım için şimdiden şerefe.
Teşekkür uzatmadan uygulamak yöntemi kullanmak şeyin ise hızlı tepki için yığınlar. Bununla ilgili kaygım, yapıcıya argümanları aktarmak istiyorum. Tekrar düşünün, ne kadar kirli bir hack olduğunun farkındayım. Tasarımımı tekrar gözden geçirmem gerekecek. – frio
Evet, bir kesmek. Singletonlar global durumdur ve Scala'nın noktası görünmez paralel işlemeye izin vermektir. Bu, küresel duruma sahip olamayacağınız anlamına gelir. – fishtoprecords
@frio, nesne yapıcısı (gövdesi), nesneye veya nesnenin oluşturulmasına ilişkin bir miktar denetim sağlayan içeriğe (alanlar veya yöntemler) başvuru yapana kadar çalıştırılmayacağını hatırlamanız önemli olabilir. –