Singletons / globallerin tuzakları hakkında sayısız kez duydum ve neden bu kadar sık sık kaşlarını çattıklarını anlıyorum.
Anlamadığım şey zarif, dağınık olmayan alternatifin ne olduğudur. Singletons / globals kullanmanın alternatifi, nesneleri her zaman, ihtiyaç duyulan nesnelere ulaşana kadar motor nesnelerinizden bir milyon seviye aşağı geçmeyi içerir.
Örneğin, oyunumda, oyun başladığında bazı varlıkları önceden yüklüyorum. Bu varlıklar, oyuncu ana menüde gezinip oyuna girene kadar kullanılmaz. Bu verileri Oyun nesnesimden, ScreenManager nesnesime (yalnızca bir Ekranın bu verileri gerçekten önemsediği gerçeğine rağmen), sonra uygun Ekran nesnesine ve başka bir yere mi geçirmem gerekiyor?
Görünüşe göre, küresel durum verilerini karmaşık bağımlılık enjeksiyonu için alıyorum, verileri alt nesnelere aktarmak dışında verileri umursamayan nesnelere bile veriyorum.
Bu bir Singleton'ın iyi bir şey olacağı bir durum mu yoksa eksik olduğum bazı zarif çözümler var mı?