Tôi đã thấy nhiều lần trong mã nguồn, những thứ như thế này [tốt, đây là một ý tưởng giả C ++ của tôi]
typedef shared_ptr<Resource> ResourcePtr;// for ease
ResourcePtr sound1 = resourceManager.Get<SoundResource>("boom.ogg");
sound1->Play();
ResourcePtr sprite = resourceManager.Get<Image>("sprite.png");
Tôi chỉ tự hỏi làm thế nào một lớp học như thế này hữu ích, một cái gì đó:
- Tải tập tin đa phương tiện
- Lưu trữ chúng trong bộ nhớ
- Đã làm điều này khi bắt đầu một màn hình tải cấp.
- Làm sạch
Thay vì có một hệ thống:
- Tài nguyên chỉ được tổ chức bởi các thực thể, hoặc lỏng lẻo.
- Chịu trách nhiệm tải riêng vào bộ nhớ.
Đầu tiên là một "người quản lý" như vậy; một cái gì đó tôi cảm thấy cho thấy nó sai khi sử dụng. Tuy nhiên, nó cho phép một cái gì đó giống như một vectơ tên tài nguyên được thông qua, thay vì phải tranh giành xung quanh để tìm mọi thứ cần được tải.