Возможно вам уже приходилось задаваться вопросом, почему для простого модульного тестирования одного из классов приходится подключать так много библиотек и всякой другой всячины. Если бы вы копнули глубже, то наверняка бы обнаружили циклы в графе зависимостей.
Небходимо управлять структурой зависимостей компонентов.
Циклы в графе зависимостей компонентов недопустимы.