Annotated DI представляет собой обертку вокруг Guice с дополнительными утилитами для более удобного использования в модах Minecraft. Это позволяет использовать шаблон проектирования Dependency Injection при создании модов и API для них.
Дополнительные утилиты для моддеров:
- Аннотация @Implementation, которая может быть использована для удобного связывания всех зависимостей без необходимости создания отдельного файла для настройки привязок и без принуждения API иметь зависимость во время компиляции от реализации.
- Центральный Injector для каждого мода, который позволяет модам внедрять классы/интерфейсы из себя и своих зависимостей.
- Реестр, предоставляющий способ для моддеров добавлять пользовательский Module в Injector до его создания - большинству модов это не потребуется, если только они не выполняют продвинутые привязки.
Документация для разработчиков доступна на вики.
Вопросы и ответы
Как это помогает пользователям?
Моды, разработанные с использованием данной библиотеки, могут быть проще в поддержке по сравнению с модами без неё, что способствует более быстрым обновлениям. Это не универсальное решение, но полезно для некоторых проектов, особенно при создании API для других модов.
Выполняет ли библиотека самостоятельные функции?
Она отображается в списке модов, но не имеет дополнительной функциональности.
Загружает ли она зависимости модов автоматически?
Нет