Size: a a a

JavaScript — русскоговорящее сообщество

2019 November 03

ZS

Znacovean Simion in JavaScript — русскоговорящее сообщество
Leet 4
Как вариант в классе A не делай импортов B и C а сделай метод добавления этих зависимостей. А применяй метод в другом месте, где создаешь экземпляр класса А
в таком случае наружу мы выдавать юзеру должны весь пак субклассов о которых он и знать не должен
иными словами чтобы юзеру в похожей ситуации проинициализировать какой-то там слайдер ему надо 10 его компонентом проиницилизировать опосля самого главного класса?
я думал над этим как и над компонентом обёрткой..почему-то показалось это бредовой затеей
источник

ZS

Znacovean Simion in JavaScript — русскоговорящее сообщество
мне непонятно почему мой вариант не хочет работать
источник

L4

Leet 4 in JavaScript — русскоговорящее сообщество
Znacovean Simion
мне непонятно почему мой вариант не хочет работать
Что тут понимать... Mail тянет Aside, который тянет Mail, который тянет Aside...
источник

ZS

Znacovean Simion in JavaScript — русскоговорящее сообщество
Leet 4
Что тут понимать... Mail тянет Aside, который тянет Mail, который тянет Aside...
то есть таки циклический импорт присутствует?
injection-js этому поможет если с ним разобраться?
источник

ZS

Znacovean Simion in JavaScript — русскоговорящее сообщество
просто без импорта субкомпонентов в самом главном я их в него не смогу записать
источник

ZS

Znacovean Simion in JavaScript — русскоговорящее сообщество
именно чтоб это сделать в виде модуля который бы экспортирова только 1 класс наружу -  Mail
источник

M

Murena in JavaScript — русскоговорящее сообщество
Znacovean Simion
то есть таки циклический импорт присутствует?
injection-js этому поможет если с ним разобраться?
за тебя уже все придумали давно, читай про паттерны проектирования - именно в твоей ситуации поможет правильное использование DI
источник

L4

Leet 4 in JavaScript — русскоговорящее сообщество
Znacovean Simion
именно чтоб это сделать в виде модуля который бы экспортирова только 1 класс наружу -  Mail
Либо сделай отдельный синглтон класс и общайся модулями через него
источник

M

Murena in JavaScript — русскоговорящее сообщество
а лучше переходи на Angular/React
источник

M

Murena in JavaScript — русскоговорящее сообщество
там уже все за тебя сделано - просто пиши код и все по инструкции
источник

L4

Leet 4 in JavaScript — русскоговорящее сообщество
Можно через паттерн Медиатор
источник

L4

Leet 4 in JavaScript — русскоговорящее сообщество
Главное сам не пытайся изображать из себя маминого особенного умника, не пиши херню, если не получается - читай теорию
источник

ZS

Znacovean Simion in JavaScript — русскоговорящее сообщество
Murena
а лучше переходи на Angular/React
я писал на вью
когда-то пробовал и реакт
но натекущем проекте мне нужна ванилла
так как там тупо работа с jquery и код будет дорабатываться человеком который ни бум бум в фреймворках
и они тут избыточны для организации связки раздельных микро-компонентов
источник

ZS

Znacovean Simion in JavaScript — русскоговорящее сообщество
Leet 4
Главное сам не пытайся изображать из себя маминого особенного умника, не пиши херню, если не получается - читай теорию
паттерны разбирал но вот в жизни никак практики по ним не получал в тасках( вот и хромает понимание как архитектуру задавать
источник

ZS

Znacovean Simion in JavaScript — русскоговорящее сообщество
да и проблем не было когда весь код в 1 файле
источник

ZS

Znacovean Simion in JavaScript — русскоговорящее сообщество
а вот с импортами пошли беды
источник

ZS

Znacovean Simion in JavaScript — русскоговорящее сообщество
у меня до этого -  как
огромная функция
вверху переменные
внизу методы и init который инициализирует переменные а затем запускает методы

всё вперемешку
чтоб это было поддерживаемо надо разбить
вот и взялся..
источник

L4

Leet 4 in JavaScript — русскоговорящее сообщество
Znacovean Simion
а вот с импортами пошли беды
Просто нет понимания модульности, одну функцию/класс написать много ума не надо. Эдди Османи по паттернам прочитай, там и примеры будут
источник

ZS

Znacovean Simion in JavaScript — русскоговорящее сообщество
@leet4 @murena787 спасибо большое за ответы) почитаю с утреца
авось удастся настроить таки медиатором так как не хочется привносить непонятной конечному юзеру магии )
источник

L4

Leet 4 in JavaScript — русскоговорящее сообщество
Znacovean Simion
@leet4 @murena787 спасибо большое за ответы) почитаю с утреца
авось удастся настроить таки медиатором так как не хочется привносить непонятной конечному юзеру магии )
Сейчас у тебя при создании класса Aside срабатывает конструктор родителя Mail, который в методе создает экземпляр класса Aside, который опять запускает конструктор Mail и так по кругу.... тут вообще логики нет)
источник