209 похожих чатов

Ребят, подскажите плиз. В файле модуля, в импортах иногда нужно

указать не имя модуля, а вызвать через forwardRef, чтобы не возникала ошибка circular dependency. Вопрос: а может так абсолютно все стоит подключать и не париться по поводу круговых зависимостей? ...или это накладно для сервера будет или плохая практика? )

16 ответов

52 просмотра

Circular dependency это ошибка проектирования) в правильной архитектуре, если изобразить все зависимости схематически, должен получится ацикличный граф

Roman Karas`-Karas' Автор вопроса
Yurii Kovalenko
Circular dependency это ошибка проектирования) в п...

Но бывают видимо случае где circular dependency не избежать. Например как у меня, Таблица Пользователи и Роли пользователей. Где пользователи нужны в таблице ролей для проверки есть ли у пользователя в этой роли привилегии чтобы CRUD делать с этой таблицей... каламбур короче получается в объяснении, )) зацикливаюсь сам )

только на те что ошибят

Roman Karas`-Karas' Автор вопроса
Илюша 🎂
только на те что ошибят

ага, тож принял, пасиб брат )

Roman Karas` Karas'
Но бывают видимо случае где circular dependency не...

Можно делать 3 модуль который будет знать о этих двух и тогда не будет circular, я бы даже сказал нужно

Не всегда это просто, особенно когда два модуля очень тесно связаны

Max Kiner
Не всегда это просто, особенно когда два модуля оч...

Тогда это лучше был бы один модуль, если настолько тесно связаны, что изменяются в месте и зависят друг от друга

Max Kiner
Не всегда это просто, особенно когда два модуля оч...

А возникает третий, который внезапно должен быть прослойкой между первым и вторым)

Yurii Kovalenko
Тогда это лучше был бы один модуль, если настолько...

По смыслу это не может быть один модуль никак, проще уж тогда всё в один модуль скидать - но лучше ли?) Понятно дело, что такое лучше не допускать, но иногда бывают ситуации, что этот выход будет быстрее и дешевле, и не несёт за собой пачку рефакторинга (от которого ещё пачка багов может вылезти)

Разраб не всегда волен рефакторить весь проект)

Max Kiner
Разраб не всегда волен рефакторить весь проект)

А весь и не нужно, нужно просто знать: 1) циклическая зввисимость вредно 2) как решать циклические зависимости Этого достаточно, чтобы не допустить каши с форвард рефами, и не говорить потом «ну не будем же рефакторить весь проект» Всегда же есть точка, после кторой рефакторить стает дороже, чем использовать форварды. И вот первое такое появление хороший сигнал одуматься)

Yurii Kovalenko
А весь и не нужно, нужно просто знать: 1) цикличес...

Может быть) пока прецедент лично у меня был лишь один, если будет второй - вспомню ваши слова, благодарю)

Roman Karas`-Karas' Автор вопроса
lutik
Можно делать 3 модуль который будет знать о этих д...

Что-то мне подсказывает, что этим как раз и занимается forwardRef, что создаёт

какого хуя разрабы виноваты в том, что в ноде есть циклические зависимости

Илюша 🎂
какого хуя разрабы виноваты в том, что в ноде есть...

Причем тут нода, в любой архитектуре циклическая зависимость это плохо, не только в несте.

Похожие вопросы

Обсуждают сегодня

Карта сайта