Я создаю переменное количество объектов KlasseA и соответствующее количество объектов KlasseB.
KlasseA зависит от ClassZ и ClassY, KlasseB зависит от ClassZ, ClassY и KlasseA.KlasseA и KlasseB должны использовать один и тот же экземпляр ClassY, поскольку он имеет внешнее соединение, которое должно использоваться обоими классами.НО при создании другой пары объектов KlasseA и KlasseB оба должны использовать новый экземпляр ClassY, поскольку они могут не использовать то же соединение, что и другие 2 объекта KlasseA & KlasseB.
Пока я использовал Guiceчтобы внедрить зависимости, но поскольку Guice всегда будет создавать новый экземпляр ClassY или только один экземпляр, если я сделаю его одноэлементным, он действительно не будет работать так, как я планировал.
Теперь мне интересно, есть ли возможность сделать это с Guice или мне лучше выбрать другой подход, например
@Inject
public KlasseA(ClassZ classZ, ClassY classY)
{
classZ = classZ;
classY = classY;
}
@Inject
public KlasseB(ClassZ classZ, KlasseA klasseA)
{
classZ = classZ;
classY = klasseA.getClassY();
klasseA = klasseA;
}
Этот способ определенно работает, но вроде какнебольшой взлом, поэтому мне интересно, есть ли у кого-то лучшее решение или что-то вдохновляющее.