Size: a a a

JavaScript.Ninja

2020 January 26

IK

Illya Klymov in JavaScript.Ninja
Vitaly
как пробросить инстанс сокета в модель? использую socket.io
это жесточайший антипаттерн
источник

IK

Illya Klymov in JavaScript.Ninja
модель ничего не должна знать о каких-то сокетах
источник

DR

Damir Rakhmanov in JavaScript.Ninja
Illya Klymov
модель ничего не должна знать о каких-то сокетах
а как должно быть - какой то сервис который дает возможность с чем то связаться, а уже сервис будет знать о сокетах или иных способах передачи данных?
источник

DR

Damir Rakhmanov in JavaScript.Ninja
и модель должна запрашивать сервис?
источник

IK

Illya Klymov in JavaScript.Ninja
Сервисы выше моделей в иерархии. Модели не должны ничего знать о сервисах. Инициатор вставки в базу должен и координироваться с сервисом отправки информации пользователю (который вообще является скорее "контроллером")
источник

МИ

Максим Ильин in JavaScript.Ninja
Damir Rakhmanov
а как должно быть - какой то сервис который дает возможность с чем то связаться, а уже сервис будет знать о сокетах или иных способах передачи данных?
слой сервисов подписывается на обновления модели и дальше уже разбирается сам
источник

IK

Illya Klymov in JavaScript.Ninja
как говорит Тимур Шемсединов - фреймворк не должен проникать в сервисы
источник

DR

Damir Rakhmanov in JavaScript.Ninja
так где и кто должен знать о сокете? =)
источник

МИ

Максим Ильин in JavaScript.Ninja
ой это ж про бэк, да?
источник

IK

Illya Klymov in JavaScript.Ninja
нет, на фронте абсолютно так же
источник

VK

Vladimir Klimov in JavaScript.Ninja
Damir Rakhmanov
так где и кто должен знать о сокете? =)
Контроллер
источник

VK

Vladimir Klimov in JavaScript.Ninja
Только не http, а на сокетах
Сокеты никак не влияют ни на модели, ни на бизнесс логику, они - лишь деталь того, как вы доставляете данные.
источник

NB

Nikita Batrak in JavaScript.Ninja
ну это транспортный слой же
источник

VK

Vladimir Klimov in JavaScript.Ninja
В контроллере ловите событие, а потом просто вызываете нужные сервисы, которые ничего о вебе не знают)
источник

NB

Nikita Batrak in JavaScript.Ninja
Damir Rakhmanov
так где и кто должен знать о сокете? =)
почитай про ddd
источник

VK

Vladimir Klimov in JavaScript.Ninja
Damir Rakhmanov
так где и кто должен знать о сокете? =)
Вопрос в том, как у вас организованно приложение? Как вы его разделяете? Какие сущности есть?
источник

МИ

Максим Ильин in JavaScript.Ninja
так, данные идут УИ -> модель / стора -> сервисы -> внешние API, не?
источник

VK

Vladimir Klimov in JavaScript.Ninja
Nikita Batrak
почитай про ddd
Это не совсем про ddd
источник

VK

Vladimir Klimov in JavaScript.Ninja
Максим Ильин
так, данные идут УИ -> модель / стора -> сервисы -> внешние API, не?
Человек задал вопрос о беке, я в этом контексте и говорю)
источник

МИ

Максим Ильин in JavaScript.Ninja
Illya Klymov
нет, на фронте абсолютно так же
Это я в эту ветку
источник