169 похожих чатов

Подскажите, пожалуйста есть возможность сделать так, чтобы factory по injection токену

вызывалась каждый раз, а не единожды?

10 ответов

5 просмотров

providedIn: 'any' ?

Ihor-Zinchenko Автор вопроса
Smooth Operator
providedIn: 'any' ?

а если восьмая версия, а не 9+?

Ihor Zinchenko
а если восьмая версия, а не 9+?

ну наверное, надо провайдить везде где инжектишь

Ihor-Zinchenko Автор вопроса
Smooth Operator
ну наверное, надо провайдить везде где инжектишь

понял. а что насчет сделать вместо токена сервис-фабрику, который будет делать то же самое, что и factory у токена? и потом его инжектить в тех же местах, где нужен был сам токен

Ihor Zinchenko
понял. а что насчет сделать вместо токена сервис-ф...

Звучит как DI внутри DI, но каких-то очевидных проблем я не вижу. Интереснее, зачем вам понадобилось каждый раз создавать новый инстанс сервиса.

Ihor-Zinchenko Автор вопроса
Maxim Afanasev
Звучит как DI внутри DI, но каких-то очевидных про...

версионированные сервисы. хотелось бы по токену в зависимости от текущих условий получать нужный экземпляр

Ihor-Zinchenko Автор вопроса
Maxim Afanasev
А интерфейс у разных версий одинаковый?

методы имеют практически одинаковую сигнатуру, различается интерфейс одного из возвращаемых значений

Ihor Zinchenko
методы имеют практически одинаковую сигнатуру, раз...

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

Ihor-Zinchenko Автор вопроса
Maxim Afanasev
Тогда ваш вариант почти ок. Только нужен не сервис...

ну отличается только модель, с которой работают сами сервисы

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Карта сайта