Size: a a a

JavaScript.Ninja

2021 July 15

IK

Illya Klymov in JavaScript.Ninja
Что мешает сложить состояние в переменные модуля и экспортировать методы )
источник

IK

Illya Klymov in JavaScript.Ninja
это еще и тришейкаться будет
источник

M

Michael in JavaScript.Ninja
Как иначе?

Вот я описывал свою задачу
источник

M

Michael in JavaScript.Ninja
ну они же тоже глобальные будут
источник

IK

Illya Klymov in JavaScript.Ninja
учитывая что модули - синглтоны в js by design зачем делать синглтон в синглтоне не очень понятно
источник

M

Michael in JavaScript.Ninja
ну то есть это ни плохо, ни хорошо. По сути одно и тоже выходит? Только классы добавляют неймспейс
источник

IK

Illya Klymov in JavaScript.Ninja
я предпочитаю все равно так не делать, потому что непонятно потом как тестировать. Я предпочитаю экспортировать фабрику а дальше уже таскать сущность порожденную этой фабрикой тем или иным видом DI
источник

M

Michael in JavaScript.Ninja
А можно чуть поподробнее? не совсем понял.
источник

M

Michael in JavaScript.Ninja
ну вот мне нужно сделать фасад над реалтайм классом из внешней библиотеки
источник

M

Michael in JavaScript.Ninja
Куда там фабрика
источник

IK

Illya Klymov in JavaScript.Ninja
и как этот фасад будет выглядеть? что наружу отдавать?
источник

M

Michael in JavaScript.Ninja
методы для подписки на события
источник

IK

Illya Klymov in JavaScript.Ninja
тогда я не очень понял про "классы добавляют неймспейс"
источник

IK

Illya Klymov in JavaScript.Ninja
если модуль это уже неймспейс
источник

M

Michael in JavaScript.Ninja
Это я в общем сказал
источник

M

Michael in JavaScript.Ninja
разницу между классом и просто модулем
источник

M

Michael in JavaScript.Ninja
но а тестирование как упрощается без класса?
источник

IK

Illya Klymov in JavaScript.Ninja
если вы экспортируете фабрику - упрощается тем, что вы можете порождать в каждом тесте чистое состояние
источник

M

Michael in JavaScript.Ninja
Так а что эта фабрика будет генерировать?
источник

IK

Illya Klymov in JavaScript.Ninja
экземпляр класса. Который вы потом будете везде за собой таскать
источник