Звучит так, будто вам нужно переосмыслить свой код.
Может быть, вы можете устранить зависимость одним способом, используя интерфейсы?
Если бы вы могли дать обзор зависимостей, может быть, я или кто-то другой мог бы дать идеи о том, как изменить структуру.
Edit:
Как мило с вашей стороны дать мне минус ... Позвольте мне процитировать статью Википедии на тему:
[...] в цикле разработки программного обеспечения
зависимости между большим программным обеспечением
модули считаются
анти-паттерн из-за их негативных эффектов .
[...]
Круговые зависимости могут вызывать много
нежелательные эффекты в программах.
Наиболее проблемные из программного обеспечения
Точка зрения дизайна жесткая
сцепление взаимозависимых
модули, которые уменьшают или делает
невозможно раздельное повторное использование
одиночный модуль .
Круговые зависимости могут вызвать
эффект домино, когда маленький местный
изменение в одном модуле распространяется на
другие модули и имеет нежелательные глобальные
эффекты (ошибки программы, компиляция
ошибки). Круговые зависимости могут
также приводят к бесконечным рекурсиям или
другие неожиданные сбои.
Круговые зависимости также могут вызывать
утечки памяти, предотвращая определенные
очень примитивный автоматический мусор
коллекционеры (те, которые используют ссылку
считая) от освобождения неиспользованного
объекты.
[...]
Круговые зависимости часто бывают
введено неопытными программистами , которым необходимо реализовать
какая-то функция обратного вызова.
Опытные программисты избегают таких
ненужные круговые зависимости
применяя шаблоны дизайна, такие как
схема наблюдателя.
(выделение добавлено)
Но опять же, может быть, вы умнее коллектива, который пишет в Википедии ...