Круговая зависимость решения

Наш текущий проект столкнулся с проблемой круговой зависимости. Наша сборка бизнес-логики использует классы и статические методы из нашей сборки SharedLibrary. SharedLibrary содержит целый набор вспомогательных функций, таких как класс SQL Reader, перечислители, глобальные переменные, обработка ошибок, ведение журнала и проверка.

SharedLibrary требуется доступ к бизнес-объектам, но бизнес-объектам нужен доступ к SharedLibrary. Старые разработчики решили этот очевидный запах кода, реплицировав функциональность бизнес-объектов в общей библиотеке (очень анти-СУХОЙ). Я провел целый день, пытаясь прочитать о моих вариантах, чтобы решить эту проблему, но я зашел в тупик.

Я открыт для идеи редизайна архитектуры, но только в крайнем случае. Итак, как я могу иметь библиотеку Shared Helper, которая может обращаться к бизнес-объектам, при этом бизнес-объекты все еще обращаются к библиотеке Shared Helper?

Ответы на вопрос(3)

Ваш ответ на вопрос