Kaynak kodunda birçok kez gördüm, bunun gibi şeyler [iyi, bu daha sahte bir C ++ fikrimdir]
typedef shared_ptr<Resource> ResourcePtr;// for ease
ResourcePtr sound1 = resourceManager.Get<SoundResource>("boom.ogg");
sound1->Play();
ResourcePtr sprite = resourceManager.Get<Image>("sprite.png");
Sadece böyle bir sınıfın ne kadar yararlı olduğunu merak ediyordum:
- Yüklenen medya dosyaları
- Onları hafızada sakladı
- Bunu bir seviye yükleme ekranının başlangıcında yaptı.
- Temizledik
Bir sisteme sahip olmak yerine:
- Kaynaklar yalnızca kuruluşlar tarafından tutulur veya serbest kalır.
- Belleğe kendi yüklemesinden sorumludur.
Birincisi bu şekilde bir 'yönetici'; Hissettiğim bir şey kullanmanın yanlış olduğunu gösteriyor. Bununla birlikte, yüklenmesi gereken her şeyi bulmak yerine karıştırmak yerine, kaynak isimleri vektörü gibi bir şeyin geçirilmesine izin verir.