usr*_*usr 10
处理它的一种方法是将一个部件合并到另一个部件的组件中.我的经验是,人们倾向于将他们的项目分成许多小组件,这些组件并没有真正改善任何东西,但会导致依赖性问题.
我一般都提倡很少的大集会.使用程序集作为部署单元,而不是构造代码.使用命名空间构建代码.
解决此问题的另一种方法是在公共程序集中或在两个现有程序集之一中引入接口.如果接口方法本身不具有循环依赖性但方法体具有循环依赖性,则后一种情况是有意义的.
以下是两本白皮书,深入探讨了.NET程序集和命名空间中代码分区的主题,涵盖了循环依赖的原因和方式.它与usr建议的方向相同:很少有大型程序集,使用程序集作为部署单元,而不是构造代码.使用命名空间构建代码.
通过.NET程序集和Visual Studio项目对代码库进行分区(8页)
使用命名空间定义.NET组件(7页)