Як загальна схема дизайну, маніфести корисні, коли потрібно зібрати всю інформацію про розрізнений набір об’єктів в одне місце. Це не повинно стосуватися архівів / упакованих файлів або непрямості, щоб дозволити переміщення речей без перекомпіляції / оновлення оригінальних посилань. Дійсно, остання може створити більше проблем, ніж вирішує, тож ви зробите це лише в тому випадку, якщо це вирішить ту чи іншу потребу, яку ви мали.
Велика перевага маніфестів полягає в тому, що вони діють як покажчик великої кількості даних в одному компактному місці. Як такі вони покращують продуктивність (тому що ви можете просто завантажити весь маніфест з диска і зберегти його в пам'яті), особливо в тому випадку, коли вам потрібно повторити кілька об'єктів, але ви не знаєте заздалегідь, що будуть ці об'єкти . Якщо об’єкти знаходяться на диску, особливо якщо вони знаходяться в декількох місцях, вам потрібно торкатися файлової системи щоразу, коли ви хочете переглядати файли. Для файлових систем на основі диска час, необхідний для торкання файлової системи, є непомірним, тому ітерація файлів у каталозі - це величезна вартість. Заздалегідь будуючи маніфест файлів під час збирання (зверніть увагу: не час компіляції), ви торгуєте цією витратою на використання пам'яті.
Архівні файли вимагають використання маніфестів, просто тому, що вміст архіву, по суті, є маніфестом, тому ви отримуєте поведінку безкоштовно. І якщо від вас вимагається використовувати маніфести для активів в одному місці, то можна буде більш чітко наполягати на тому, щоб усі активи пересилалися через маніфести; що дозволяє абстрагувати фактичне місце зберігання / механізм активів із посилань на ці активи в коді. Таким чином, ви можете мати в своєму коді єдиний тип довідки активів, і не потрібно проводити розмежування між шляхами файлів, архівом шляху до файлу + зміщенням або суб-активами.