Size: a a a

Node.js — русскоговорящее сообщество

2021 March 03

VS

Vlad Sobenko in Node.js — русскоговорящее сообщество
Vanya Leyn
Мы сейчас обсуждаем джс и тс, я говорю что писать на джс можно так же чисто как и на тс, к чему здесь строго типизированные яп?
Без типов многие приемы не работают, ну или работают с оговорками, допущениями. Половина паттернов Гоф. Солид dependecy inversion. Liskov substitution тяжело поддерживать.
источник

¿

¿hope in Node.js — русскоговорящее сообщество
Yaroslav Zhymkov
у вас контролер вызывает репозиторий
Если там простой круд без бизнес логики, то, как по мне, городить интеракторы/сервисы смысла нет
источник

VL

Vanya Leyn in Node.js — русскоговорящее сообщество
Вот инверсия зависимостей никак не связана со типами.
Приведите примеры паттернов
Почему тяжело поддерживать?
источник

YZ

Yaroslav Zhymkov in Node.js — русскоговорящее сообщество
Vanya Leyn
Вот инверсия зависимостей никак не связана со типами.
Приведите примеры паттернов
Почему тяжело поддерживать?
а как вы без типов сделаете инверсию?
источник

G

Gleb in Node.js — русскоговорящее сообщество
Yaroslav Zhymkov
метархия для уровня синьер+
а что за метархия?
источник

YZ

Yaroslav Zhymkov in Node.js — русскоговорящее сообщество
¿hope
Если там простой круд без бизнес логики, то, как по мне, городить интеракторы/сервисы смысла нет
если это раз. два он простой сейчас
источник

VL

Vanya Leyn in Node.js — русскоговорящее сообщество
Yaroslav Zhymkov
а как вы без типов сделаете инверсию?
Просто не буду завязывать высокоуровневые абстракции на низкоуровневые реализации?
источник

YZ

Yaroslav Zhymkov in Node.js — русскоговорящее сообщество
Gleb
а что за метархия?
эт стэк с сообществом
источник

YZ

Yaroslav Zhymkov in Node.js — русскоговорящее сообщество
Vanya Leyn
Просто не буду завязывать высокоуровневые абстракции на низкоуровневые реализации?
это работает для хелоуверд, и то когда работаешь 1
источник

VL

Vanya Leyn in Node.js — русскоговорящее сообщество
О чем вы вообще?
источник

VS

Vlad Sobenko in Node.js — русскоговорящее сообщество
Vanya Leyn
Вот инверсия зависимостей никак не связана со типами.
Приведите примеры паттернов
Почему тяжело поддерживать?
С телефона тяжело примеры писать. Пишу например модуль. Он например зависит от репы. Нужен метод findByName(  name: string):DogModel.
В модуле я положил интерфейс для этой репы. Потом на уровне инфраструктура я реализую этот интерфейс через реализацию в бд.
Потом подсуну модулю реализацию.
источник

AS

Artem Soroka in Node.js — русскоговорящее сообщество
Yaroslav Zhymkov
а как вы без типов сделаете инверсию?
Так же как обычно, только без типов )
источник

О

Олег in Node.js — русскоговорящее сообщество
подскажите как обработать нормально кейс когда нужно получить статус объекта а библиотечка сервиса вместо статуса кидает error 404 если объекта нет. из-за этого сейчас думаю как лучше сделать чтобы норм обработать действие если объект есть и если его нет

писать вот так кажется глупо
try {
….
} catch (e) {
 
if (e.status === "404") {….
источник

YZ

Yaroslav Zhymkov in Node.js — русскоговорящее сообщество
я понял,  как всегда в ноде: ооп не к нам)
источник

VL

Vanya Leyn in Node.js — русскоговорящее сообщество
Vlad Sobenko
С телефона тяжело примеры писать. Пишу например модуль. Он например зависит от репы. Нужен метод findByName(  name: string):DogModel.
В модуле я положил интерфейс для этой репы. Потом на уровне инфраструктура я реализую этот интерфейс через реализацию в бд.
Потом подсуну модулю реализацию.
Не надо мне обьяснять как работает Ди

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

VL

Vanya Leyn in Node.js — русскоговорящее сообщество
Yaroslav Zhymkov
я понял,  как всегда в ноде: ооп не к нам)
Не к вам, да
источник

¿

¿hope in Node.js — русскоговорящее сообщество
Vlad Sobenko
С телефона тяжело примеры писать. Пишу например модуль. Он например зависит от репы. Нужен метод findByName(  name: string):DogModel.
В модуле я положил интерфейс для этой репы. Потом на уровне инфраструктура я реализую этот интерфейс через реализацию в бд.
Потом подсуну модулю реализацию.
Что мешает это сделать без явного указания интерфейса?
Динамическая типизация на то так и называется, что не требует явного указания типа
Для удобства можно написать тест, который проверяет соответствие интерфейсу и будет даже лучше, чем с тс
источник

VL

Vanya Leyn in Node.js — русскоговорящее сообщество
Никто не говорит что джс > тс, это так, к слову
источник

N

Nikita in Node.js — русскоговорящее сообщество
Yaroslav Zhymkov
у вас контролер вызывает репозиторий
я пропустил слой сервисов, как верно подметил товарищ выше, но это не суть, потом могу на сервисы заменить
источник

VS

Vlad Sobenko in Node.js — русскоговорящее сообщество
¿hope
Что мешает это сделать без явного указания интерфейса?
Динамическая типизация на то так и называется, что не требует явного указания типа
Для удобства можно написать тест, который проверяет соответствие интерфейсу и будет даже лучше, чем с тс
Например На 5 реализаций написать кучу тестов? А есть в реализациях тяжёлый инфраструктурный код? Нет бы просто описать контракт парой строчек  и пусть там тс тепе его проверяет каждый раз..
источник