是否有任何黑客可以解决循环参考问题?

时间:2013-01-16 19:03:30

标签: c#

我继承了一个经过深思熟虑的代码库,并遇到了一些循环引用问题。我的团队目前没有时间或资源去做一个巨大的重构,所以我想知道是否有一些我可以翻转的开关说'#34;原子地构建这两个dll。"

简化示例:

DLL D0:
    class A1 -> References B1
    class B1 -> References A1

A1和B1类相互引用,并且因为它们在同一个DLL中,这很好 - 但是它们没有多少共同之处所以我想把它们分成不同的dll

但是,由于循环引用问题,以下情况是不可能的:

DLL D1: class A1 -> References D2.B1
DLL D2: class B1 -> References D1.A1

我希望能够告诉MSBuild构建(D1 + D2),好像所有代码都在一个dll中一样。有什么我可以在这里做的,或者我是否遵循SOP和#34;破解它?"

免责声明:据我所知,这意味着我的模型存在更大的问题(最明显的是接口的使用不当),但在小公司中,现实世界的场景要求我向后弯腰修复生产错误最佳实践的费用。

1 个答案:

答案 0 :(得分:12)

  

我的团队目前没有时间或资源来做大事   重构

所以......不要这样做:

  

但它们并没有太多共同点,所以我想将它们分解为   分开的dlls。

在您可以对整个解决方案进行重大重构之前不要管它。

在这种情况下,重构组织的压力将迫使大量的重构下游。你有更大的问题需要处理。我去过那儿。我觉得你。祝你好运。