我们当前的项目遇到了循环依赖问题。我们的业务逻辑程序集使用 SharedLibrary 程序集中的类和静态方法。SharedLibrary 包含一大堆帮助函数,例如 SQL 读取器类、枚举器、全局变量、错误处理、日志记录和验证。
SharedLibrary 需要访问业务对象,但业务对象需要访问 SharedLibrary。老开发者通过在共享库中复制业务对象的功能来解决这种明显的代码异味(非常反 DRY)。我现在花了一天时间尝试阅读有关解决此问题的选项,但我遇到了死胡同。
我对架构重新设计的想法持开放态度,但只是作为最后的手段。那么我怎样才能拥有一个可以访问业务对象的共享助手库,而业务对象仍然访问共享助手库呢?