Я просто не понимаю:
Я использую Gin в своем Java-приложении GWT для DI. Экран входа в систему интегрирован в полное окно приложения. После того, как пользователь вошел в систему, я хочу внедрить пользовательский объект в другие классы, такие как GUI Presenters, которые я создаю, поэтому у меня есть какая-то зависимость во время выполнения, я считаю. Как мне это сделать?
Одно из решений, которое я могу придумать, это как:
class Presenter {
@Inject
Presenter(LoggedInUserFactory userFactory) {
User user = userFactory.getLoggedInUser();
}
}
class LoggedInUserFactoryImpl {
public static User user;
User getLoggedInUser() {
return user;
}
}
Итак, когда пользователь успешно вошел в систему и у меня есть объект, я установил статическое свойство в LoggedInUserFactory
, но это будет работать, только если Presenter
создается после того, как пользователь вошел в систему, что не так. .
Или я должен использовать глобальный статический реестр? Мне просто не нравится идея иметь статические зависимости в моих классах.
Любой вклад приветствуется.