Алексей Тен, спасибо. Про React читал и еще буду читать. Но, возможно, что-то удастся прояснить благодаря вам.
Т.е. импорт из mainMobile - это ошибка в архитектуре (ага, собственно, догадывался), а вместо этого все инстансы классов, которые используются в других Модулях, надо передавать в виде параметров к Классу? Т.е. если Форма используется в 10 других модулях - передаем ее в каждый из них через параметр класса? И если какой-то модуль требует 10 инстансов - тоже все их передаем через параметры? И это общепринятый метод и нормально с точки зрения архитектуры?
// ===== mainMobile.js - главная точка входа
...
let form = new Form(document.querySelector('.form'));
let button = new Button(document.querySelector('.button'), {
form: form
});
let sidebar = new Sidebar(document.querySelector('.sidebar'), {
form: form
});
let topbar new Topbar(document.querySelector('.topbar'), {
form: form,
button: button,
sidebar: sidebar
});
Алексей Тен, в простом примере с цветом - да.
А что если при клике на кнопку надо открывать, например, форму. Форма - отдельный модуль. Удобно было бы вместо того, чтобы импортить и создавать форму в каждом модуле, где она нужна, - однажды создать экземпляр класса Form в mainMobile.js и экспортировать.
// ===== mainMobile.js - главная точка входа
...
let form = new Form(document.querySelector('.form'));
export { form }
И тогда в модуле button.js опять возникает импорт из mainMobile.js
Т.е. импорт из mainMobile - это ошибка в архитектуре (ага, собственно, догадывался), а вместо этого все инстансы классов, которые используются в других Модулях, надо передавать в виде параметров к Классу? Т.е. если Форма используется в 10 других модулях - передаем ее в каждый из них через параметр класса? И если какой-то модуль требует 10 инстансов - тоже все их передаем через параметры? И это общепринятый метод и нормально с точки зрения архитектуры?