Size: a a a

NodeUA - JavaScript and Node.js in Ukraine

2020 December 29

ЯП

Ярослав Пицуха... in NodeUA - JavaScript and Node.js in Ukraine
Здравствуйте, подскажите пожалуйста как лучше сделать.
У меня есть приложение на тайпскрипте, есть уже таблицы в бд на сервере postgress. В самом приложении использую sequelize. Модельки сделаны как классы и через метод init описываю их уже.
Нужно написать вариант запуска проекта, при котором он создает таблицы в бд, если их не существует
npm run init
И проверить все модели на корректность данных, прочекать чтобы он не сносил таблицы если они есть
и не стирал данные.
источник

Y

Yevhen in NodeUA - JavaScript and Node.js in Ukraine
Vlad Sobenko
Отдельностоящий контракт, которому должен следовать объект.
Вроде подмена объекта, при вызове метода на нем.
Вы описали параметрический полиморфизм, то есть generics
https://en.m.wikipedia.org/wiki/Parametric_polymorphism
источник

Y

Yevhen in NodeUA - JavaScript and Node.js in Ukraine
Misha e
полиморфизм - это вызов переопределенного метода в дочернем классе, ссылкой на родительский
А если классов нет в языке, этот язык может поддерживать полиморфизм?
источник

Ш

Шима in NodeUA - JavaScript and Node.js in Ukraine
можно и без классов ооп делать, все просто в обьект запихал та й усе))
источник

V

Vitaliy in NodeUA - JavaScript and Node.js in Ukraine
От так solid учим учим, а термінологію не юзаєм
источник

Ш

Шима in NodeUA - JavaScript and Node.js in Ukraine
а конструктор - тоже обьект который использует уже мелкие обьектишки))
источник

M

Misha e in NodeUA - JavaScript and Node.js in Ukraine
Yevhen
А если классов нет в языке, этот язык может поддерживать полиморфизм?
в джс на прототипах можно добиться полифорфизма?
источник

Y

Yevhen in NodeUA - JavaScript and Node.js in Ukraine
Vitaliy
От так solid учим учим, а термінологію не юзаєм
Перед SOLID треба спочатку розібратись з ООП)
источник

Y

Yevhen in NodeUA - JavaScript and Node.js in Ukraine
Misha e
в джс на прототипах можно добиться полифорфизма?
А без прототипов (не только в JS, в принципе)?
источник

V

Vitaliy in NodeUA - JavaScript and Node.js in Ukraine
Поліморфізм - це залежність від абстракції, а не реалізації.
А шо у вас абстракція (інтерфейси, експорт модуля, .h файл) , що реалізація (модуль, клас, прототип, .cpp) - самі вибирайте.
источник

VS

Vlad Sobenko in NodeUA - JavaScript and Node.js in Ukraine
Yevhen
Вы описали параметрический полиморфизм, то есть generics
https://en.m.wikipedia.org/wiki/Parametric_polymorphism
Не. Я имел ввиду полиморфизм на подтипах, а не дженериках.
источник

Y

Yevhen in NodeUA - JavaScript and Node.js in Ukraine
Vitaliy
Поліморфізм - це залежність від абстракції, а не реалізації.
А шо у вас абстракція (інтерфейси, експорт модуля, .h файл) , що реалізація (модуль, клас, прототип, .cpp) - самі вибирайте.
Це не визначення поліморфізму, а скоріш те, що з нього витікає. І у термінах мов програмування, він не має відношення до абстракцій, які Ви навели
источник

V

Vitaliy in NodeUA - JavaScript and Node.js in Ukraine
Yevhen
Це не визначення поліморфізму, а скоріш те, що з нього витікає. І у термінах мов програмування, він не має відношення до абстракцій, які Ви навели
Ну я з голови брав, можу помилятись.
Но да, приклади мб не точні, це скоріше dependency inversion
источник

Y

Yevhen in NodeUA - JavaScript and Node.js in Ukraine
Vlad Sobenko
Не. Я имел ввиду полиморфизм на подтипах, а не дженериках.
Но написали определение параметрического.
Да, в ООП используется полиморфизм подтипов.
Полиморфизм это про типы, а не интерфейсы и контракты
источник

Y

Yevhen in NodeUA - JavaScript and Node.js in Ukraine
Вот хороший лонгрид про полиморфизм https://medium.com/devschacht/polymorphism-207d9f9cd78?s=09
источник

Y

Yevhen in NodeUA - JavaScript and Node.js in Ukraine
Vitaliy
Ну я з голови брав, можу помилятись.
Но да, приклади мб не точні, це скоріше dependency inversion
Так, ваш приклад був про dependency inversion
источник

Y

Yevhen in NodeUA - JavaScript and Node.js in Ukraine
Интересно, что Мартин сам писал, что неправильно понимал основные принципы ООП
источник

VS

Vlad Sobenko in NodeUA - JavaScript and Node.js in Ukraine
Yevhen
Но написали определение параметрического.
Да, в ООП используется полиморфизм подтипов.
Полиморфизм это про типы, а не интерфейсы и контракты
Так интерфейс задаёт контракт. Не так ли?
источник

V

Vitaliy in NodeUA - JavaScript and Node.js in Ukraine
Yevhen
Вот хороший лонгрид про полиморфизм https://medium.com/devschacht/polymorphism-207d9f9cd78?s=09
Годно👍
источник

V

Vyacheslav in NodeUA - JavaScript and Node.js in Ukraine
Есть люди которые считают, что декораторы это зло, почему вы так считаете ?
источник