Pracuję nad projektem, który zastąpi system zarządzania zasobami (QuickTime Resource Manager na komputerach Mac i Windows), który został uznany za przestarzały i korzystam z bieżącego modelu używanego przez Qt, w którym dane są pobierane z pliku zasobów za pomocą klucza ciągu .Dlaczego są używane identyfikatory ciągów do uzyskiwania dostępu do danych zasobów?
Na przykład mogę mieć obraz w moim pliku zasobów, "HungryBear.png" przechowywany w moim pliku zasobów. Qt, a mój proponowanego systemu, by dostać go w sposób przedstawiony przez psuedocode:
image = GetImageResource("BearPlugin/Images/HungryBear.png");
Oczywiste jest, co w tym momencie, że obraz jest i gdzie można je znaleźć.
W naszym obecnym systemie używamy cyfr. Problem z liczbami polega na tym, że trzeba wyłowić plik zasobów (może być ich wiele), aby dowiedzieć się, jaki jest obraz (lub zasób).
Przykładem tego:
oldActiveResourceFile = GetActiveResourceFile(); // think of a stack of resource files
SetActiveResourceFile("BearPlugin");
image = GetImageResource(1);
// Perhaps other resources are retrieved and other functions called
// Possibly introduce problems by calling functions that change "Active Resource File"
SetActiveResourceFile(oldActiveResourceFile);
Pierwsza metoda jest to, co widziałem w obecnych systemach, które mają dostęp do danych plików zasobów. Powiedziano mi, że używają go C# i Java, wiem, że robią to dla par klucz-wartość, itp.
Jednak mój rówieśnik wyraził zaniepokojenie zmianą obecnego systemu używania tych numerów ID dla ciąg znaków, które proponuję. Wydaje się, że jest wiele korzyści i rozwiązują wiele problemów, które mieliśmy z obecnym systemem. Chcę mieć pomocniczą dokumentację, że proponowany system jest lepszy i pożądany, więc moje pytanie brzmi następująco:
Czy znasz jakieś badania lub dyskusję, która pokazuje, że użycie identyfikatora ciągu (hierarchicznego) w kodzie jest lepsze niż użycie dowolna liczba?
UWAGI
- Planuję za pomocą pliku zip (nieskompresowany) ewentualnie zawierać pliki danych.
- Mamy środowisko aplikacji-wtyczki. Aplikacja i każda wtyczka mogą mieć własne pliki zasobów. Wtyczki mogą mieć dostęp do danych zasobów w pliku zasobów aplikacji.
Oto niektóre wymagania, które zostały uznane i wierzę spełnione:
- Software Developers powinien być w stanie jednoznacznie zidentyfikować zasobów.
- Deweloperzy oprogramowania mogą wymieniać zasoby o znaczących nazwach.
- Zasoby są powiązane z częściami aplikacji, które ich potrzebują.
- Lokalizatorzy muszą mieć możliwość łatwej identyfikacji plików zasobów, które uległy zmianie.
- Lokalizatorzy muszą mieć możliwość używania własnych narzędzi do modyfikowania plików zasobów.
- Klienci powinni być powiadamiani, gdy funkcjonalność, której używają, opiera się na nieaktualnych połączeniach.
Jaki język jest ten kod? – Powerlord
Kod zostanie napisany w C++ dla Mac OS X i Windows XP/Vista/7. Planowałem zrobić plik z zasobami plik zip zawierający dane, które mogą być: 1) plikami obrazów, 2) lokalizowalnymi plikami tekstowymi, 3) plikami tekstowymi definicji dialogowych, 4) plikami dźwiękowymi, 5) innymi plikami zasobów . –