Size: a a a

NestJS — русскоязычное сообщество

2020 March 03

DZ

Dmitry Zakharov in NestJS — русскоязычное сообщество
Кстати вот пишу на флаттер время от времени, там недавно появилась либа injectable вдохновлённая ангуляром
источник

DZ

Dmitry Zakharov in NestJS — русскоязычное сообщество
Правда во флаттере нет рефлексии (в дарте есть, через мирроры) но в injectable это реализуется через кодогенерации на основе декораторов
источник

DZ

Dmitry Zakharov in NestJS — русскоязычное сообщество
AoT DI )
источник

MY

Michael Yali in NestJS — русскоязычное сообщество
ILshat Khamitov
кстати в динамические модули терь можно и импорты передавать  норм выходит
А разве так не всегда было?
источник

IK

ILshat Khamitov in NestJS — русскоязычное сообщество
Michael Yali
А разве так не всегда было?
давным давно не получалось такое, там не было imports
источник

OR

Oleg R. in NestJS — русскоязычное сообщество
Andrey Melikhov
Инверсия зависимости нужна для того, чтобы выскоуровневые политики не заисили от низкоуровневых (т.е. например, бизнес-логика не зависела от отображения). Фактически нужно избавиться от прямых импортов низкоуровневых политик внутри высокоуровневых политик. Это даёт DI. Но ‘нормальный’ DI должен быть построен на интерфейсах, nest же предлагает по умолчанию DI на типах классов, которые мы импортим откуда? из реализации. Т.е. наши зависимости остаются не развернутыми.
Аминь! Пропагандируемый официально способ инжекта – днище, как по мне лучше использовать @Inject(someToken), тогда и не стыдно будет в глаза роберту мартину на питерском холи смотреть
источник

OR

Oleg R. in NestJS — русскоязычное сообщество
Michael Yali
А разве так не всегда было?
в 6.0.0 точно завезли
источник

KA

Kulagin Alex in NestJS — русскоязычное сообщество
Andrey Melikhov
Инверсия зависимости нужна для того, чтобы выскоуровневые политики не заисили от низкоуровневых (т.е. например, бизнес-логика не зависела от отображения). Фактически нужно избавиться от прямых импортов низкоуровневых политик внутри высокоуровневых политик. Это даёт DI. Но ‘нормальный’ DI должен быть построен на интерфейсах, nest же предлагает по умолчанию DI на типах классов, которые мы импортим откуда? из реализации. Т.е. наши зависимости остаются не развернутыми.
Ну можно же провайдить и импортировать абстрактные классы вместо интерфейсов и тогда мы подходим близко к тому о чем ты говоришь
источник

AM

Andrey Melikhov in NestJS — русскоязычное сообщество
Kulagin Alex
Ну можно же провайдить и импортировать абстрактные классы вместо интерфейсов и тогда мы подходим близко к тому о чем ты говоришь
да, можно. Но документация так не учит — это плохо.
источник

KA

Kulagin Alex in NestJS — русскоязычное сообщество
Andrey Melikhov
да, можно. Но документация так не учит — это плохо.
Тут согласен
источник

GS

Grigorii K. Shartsev in NestJS — русскоязычное сообщество
Andrey Melikhov
да, можно. Но документация так не учит — это плохо.
это уже обсуждалось на гитхабе?
источник

AM

Andrey Melikhov in NestJS — русскоязычное сообщество
Grigorii K. Shartsev
это уже обсуждалось на гитхабе?
Не искал. Но Камиль изначально был против усложнения, в итоге сейчас мы получим разработчиков, которые воспринимают DI просто как способ удобно забрасывать зависимости и не задумываются про направления связей. Индустрию это не продвинет вперёд.
источник

DZ

Dmitry Zakharov in NestJS — русскоязычное сообщество
Andrey Melikhov
Инверсия зависимости нужна для того, чтобы выскоуровневые политики не заисили от низкоуровневых (т.е. например, бизнес-логика не зависела от отображения). Фактически нужно избавиться от прямых импортов низкоуровневых политик внутри высокоуровневых политик. Это даёт DI. Но ‘нормальный’ DI должен быть построен на интерфейсах, nest же предлагает по умолчанию DI на типах классов, которые мы импортим откуда? из реализации. Т.е. наши зависимости остаются не развернутыми.
++
источник

DZ

Dmitry Zakharov in NestJS — русскоязычное сообщество
Можно сделать так, interface SomeService и потом SomeServiceImpl implements SomeService
Далее provide SomeService useClass SomeserviceImpl
источник

DZ

Dmitry Zakharov in NestJS — русскоязычное сообщество
Типа того должно работать вроде
источник

KA

Kulagin Alex in NestJS — русскоязычное сообщество
Dmitry Zakharov
Можно сделать так, interface SomeService и потом SomeServiceImpl implements SomeService
Далее provide SomeService useClass SomeserviceImpl
вот именно, что нет. вместо этого как раз абстрактные классы
источник

DZ

Dmitry Zakharov in NestJS — русскоязычное сообщество
На ангуляре стопудов работает
источник

DZ

Dmitry Zakharov in NestJS — русскоязычное сообщество
В несте не проверял
источник

DZ

Dmitry Zakharov in NestJS — русскоязычное сообщество
Но должно по идее
источник

DZ

Dmitry Zakharov in NestJS — русскоязычное сообщество
Да как по мне не велика проблема тут, тк сервисы простые часто
источник