как правильно построить коммуникацию между классами?

я хочу разобраться в следующем, какой подход верный, если он тут есть -

1 - я создаю 1 файл под 1 класс и импортирую его по дефолту, и выстраиваю следующие связи - допустим есть много классов и 1 класс который стартует всю программу и абсолютно все происходит внутри него. он создает инстансы остальных классов, пробрасывая созданный экземпляр от одного класса, в параметры другого класса. и получается так что я стартую программу 1 строчкой вида - const app = new AppStarter (); app.start(); как бы все получается изолированным.

2 - создать отдельный файл, в котором явно будут в процедурном стиле вызваны создания экземпляров классов и построена коммуникация между ними, кто что кому прокидывает и тд. то есть вообще не создавать подобный класс class AppStarter {...}; и если я делаю так, то всё что описано в пункте 2 я должен писать в файле index.js?

3 - хочу понять вообще нужен ли такой файл как в пункте 2. некий базовый поток, в котором можно явно проследить цепь вызовов всей инфраструктуры внутри программы (и нормально ли, что в таком файле будет огромное количество импортов собственно классов и прочего common стаффа, или в таком случае надо сделать 1 отдельный файл с импортами и подключить его) или спрятать эту логику в самих классах или 1 классе который контролирует все это или попробовать создать золотую середину.

4 - как делать все это правильно?

есть ли среди того что я перечислил адекватный подход? как лучше организовать всё это, и какие ресурсы по теме тут помогут? можете ли вы посоветовать какие либо open source проекты, на основе которых можно подробно изучить эту тему.


Ответы (0 шт):