Совместное использование экземпляров Dagger 2 с областями или именованными классификаторами - PullRequest
0 голосов
/ 28 марта 2019

Я нахожусь в процессе настройки графа объектов и столкнулся со следующей ситуацией.Я привел здесь упрощенное дерево классов в качестве примера.Это

  • Книга рецептов
    • Яблочный пирог
      • Ингредиенты
        • Яблоко
        • Кора
      • Инструкции
        • Корочка
        • Яблоко
    • Яблочное варенье
      • Ингредиенты
        • Яблоко
        • Баночка
      • Инструкция
        • Баночка

Проблема, с которой я сталкиваюсь, состоит в том, чтобы найти лучший способ структурировать это в кинжале.По сути, в каждом классе ингредиентов мне нужно, чтобы экземпляры каждого ингредиента были одинаковыми.Тем не менее, я не хочу, чтобы экземпляр Apple распределялся между каждым рецептом.

Я пробовал именованные квалификаторы, но в итоге это становится очень уродливым, очень быстрым.Кажется неуклюжим, чтобы создать метод для каждого Apple, чтобы дать ему имя.

Кроме того, я попробовал решение, в котором я создал субкомпонент, у которого был бы способ получить Apple.Затем я бы создал метод @provides для этого компонента в подкомпоненте, предназначенном для создания моих ингредиентов.

Мой вопрос: каков обычно лучший подход для этой задачи?

...