Что такое circular init dependency?

Middle
168 просмотров
AFK Offer AI

Circular init dependency — когда пакет A импортирует B, а B импортирует A (прямо или транзитивно). Go не допускает циклические импорты — компилятор выдаст ошибку. Решения: вынести общий интерфейс в третий пакет, использовать dependency inversion (пакет B зависит от интерфейса а не конкретного типа из A), или пересмотреть архитектуру пакетов.

Следующий вопрос

Что такое design document?