Size: a a a

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

2020 March 03

OR

Oleg R. in NestJS — русскоязычное сообщество
Dmitry Zakharov
надо кароче тащить интерфейсы в TC39 чтобы принимали в JS
исключено же))
источник

GS

Grigorii K. Shartsev in NestJS — русскоязычное сообщество
А решение через абстрактный класс - сильно плохое?
источник

DZ

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

DZ

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

OR

Oleg R. in NestJS — русскоязычное сообщество
Grigorii K. Shartsev
А решение через абстрактный класс - сильно плохое?
нормальное, но до тех пор пока ты не захочешь экстендиться от двух абстрактных классов)
а ну вот выше Дмитрий тоже самое написал
источник

DB

Dilame Bowzee in NestJS — русскоязычное сообщество
Oleg R.
использование абстрактного класса вместо интерфйса так себе совет, классический пример: два высокоуровневых сервиса требуют каждый от своей зависимости определенной сигнатуры методов, каждый описывает интерфейс для зависимости, низкоуровненвый сервис отвечающий за определенный домен может одновременно имплементить оба интерфейса, как ты на абстрактном классе это сделаешь? никак
А что тебе мешает заимплементить два абстрактных класса?
источник

DZ

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

DZ

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

DZ

Dmitry Zakharov in NestJS — русскоязычное сообщество
в таком случае можно на абстрактных классах реал вместо интерфейсов попробовать
источник

MV

Mike Vasovski in NestJS — русскоязычное сообщество
Есть тут те, кому удалось typeORM c миграциями many-to-many заставить работать?
Вроде есть у них пример но не получается генерацию заставить работать, не видит связи и в логах очень мало информации, чтобы понять что он хочет.
источник

DB

Dilame Bowzee in NestJS — русскоязычное сообщество
Time is the side effect
Я юзал абстрактные классы пару раз, но так и не понял зачем они нужны) Хватало не абстрактных и интерфейсов чтобы их имплементить
Абстракктные классы просто не актуальны, если ты пишешь серверный бэк, либо фронт. Когда ты пишешь библиотеку какую-нить, это просто маст-хэв. Их отличие от интерфейсов в том, что они могут содержать в себе реализацию.
Поэтому если у тебя есть какая-нить базовая сущность, от которой экстендится много других сущностей, но базовая сама по себе не может иметь инстанс - то это абстрактный класс
источник

Ti

Time is the side effect in NestJS — русскоязычное сообщество
Dilame Bowzee
Абстракктные классы просто не актуальны, если ты пишешь серверный бэк, либо фронт. Когда ты пишешь библиотеку какую-нить, это просто маст-хэв. Их отличие от интерфейсов в том, что они могут содержать в себе реализацию.
Поэтому если у тебя есть какая-нить базовая сущность, от которой экстендится много других сущностей, но базовая сама по себе не может иметь инстанс - то это абстрактный класс
У меня возникла проблема с тестированием реализации)
источник

Ti

Time is the side effect in NestJS — русскоязычное сообщество
Как раз потому что нельзя инстанс сделать
источник

DB

Dilame Bowzee in NestJS — русскоязычное сообщество
Time is the side effect
У меня возникла проблема с тестированием реализации)
Ты не должен тестировать абстрактный класс, потому что он по своей природе не должен иметь инстансов, так как реализация в нём не закончена.
Если у тебя законченная реализация, значит это не абстрактный класс
источник

OR

Oleg R. in NestJS — русскоязычное сообщество
Dilame Bowzee
А что тебе мешает заимплементить два абстрактных класса?
неплохое замечание, не знал что можно имплементить абстрактный класс, пример: https://www.typescriptlang.org/play/?ssl=5&ssc=8&pln=5&pc=7#code/IYIwzgLgTsDGEAJYBthjAgggg3g0kM8CAZgPZkAUAlAFwIBuZAlgCYIC+AUFwdHIhRoMAIVz5w-YiGBQa9AHYBXALYgAplE48h6BAGEEzFQAdk6leoUQMmADQIxeclWriOCGXLd4o6iEpQCggADJzaQA

но все равно как по мне это неверное использование абстрактного класса как интерфейса
источник

DZ

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

DZ

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

DZ

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

DZ

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

OR

Oleg R. in NestJS — русскоязычное сообщество
Скинь пример плиз если заведется
источник