Articles of внедрение зависимости

Кинжал 2, не может вводить презентатора в мою деятельность

Я новичок в Dagger2. У меня проблема с инжектором-презентатором в моей деятельности. Я пытаюсь решить свою проблему после прочтения этой статьи https://android.jlelse.eu/inject-interfaces-without-providing-in-dagger-2-618cce9b1e29, но это не был helpe меня. Надеюсь, кто-то мне поможет, я провожу весь день, чтобы решить это … вот мои модули: @Module class AppModule(private val appContext: Context) { @Singleton @Provides internal fun provideContext(): […]

Как сделать многосвязывание с помощью контейнера поиска зависимостей Kodein?

Я перемещаюсь из Кинжара 2 в Кодейн и хочу хорошую альтернативу многопользовательской функции. Есть ли это?

Какой предпочтительный синтаксис при использовании инъекции зависимостей на основе аннотаций в Котлин?

Мы используем существующую структуру, которая, среди прочего, обеспечивает инъекцию зависимостей через аннотации. В Java, чтобы ввести значение поля, мы сделали бы что-то вроде этого: @Inject private SomeService someService; Поскольку отражение позволяет переназначить поля, которые обычно являются окончательными, это также действительное объявление: @Inject private final SomeService someService = null; Чтобы сделать объявление еще короче (а также […]

Требует ли Kotlin рамки DI?

В поисках необходимости Dependecy Injection (DI) мне стало ясно, что не все языки используют DI Framework. Например, существует определенная статья о Ruby ( Ruby Talk about DI Frameworks ), в которой говорится о DI и о том, как Ruby не нуждается в DI Framework из-за гибкости и намерений языка. Например, он утверждает, что вместо того, […]

Интерфейс ввода кинжала в базовом классе

Я хочу внедрить реализацию интерфейса в конструктор абстрактных классов и использовать его в дочернем классе. У меня есть ошибки времени компиляции: Error:Gradle: Dagger does not support injection into private fields Error:Gradle: Example.A cannot be provided without an @Provides-annotated method. Error:Gradle: Example.B cannot be provided without an @Inject constructor or from an @Provides-annotated method. Error:Gradle: Execution […]

В библиотеке Injekt для Kotlin, как мне вводить функции вместо значений?

При использовании библиотеки Injekt в Котлине для инъекции зависимостей: Вместо того, чтобы вводить значение, иногда я хочу ввести функцию. Итак, что-то вроде получения функции: val function: (Int) -> Int = Injekt.get() Кажется, что это работает нормально, но нет, если я зарегистрирую более одной функции с одной и той же подписью, но с другим значением. Кажется, […]

При инъекции зависимостей Кодина я не хочу распространять экземпляры кодеина повсюду

Используя Kodein, я нахожу, что мне нужно передавать экземпляры kodein или вводить их в модули и классы. Но иногда у меня есть классы, которые так отключены. Я хочу, чтобы они просто могли обнаружить «один истинный Кодин». Поскольку это приложение на стороне сервера, и у меня есть только одна область Kodein, это должно быть легко. Я […]

В инъекции зависимостей Kodein, как вы можете вставлять экземпляры Kodein в экземпляры?

В Kodein у меня есть модули, импортированные в родительский модуль, и иногда классам нужен экземпляр Kodein, поэтому они могут делать инъекцию позже. Проблема заключается в этом коде: val parentModule = Kodein { import(SomeService.module) } Где SomeService.module нуждается в экземпляре Kodein для позже, но Kodein еще не создан. Передача его позже в модуль кажется плохой идеей. […]

Intereting Posts