在这种情况下避免循环引用的设计

时间:2010-04-27 20:45:51

标签: c# circular-reference

这是我们的依赖树:BigApp - >儿童应用 - >库

我们所有的组件都使用上面的Libraries(LibA)之一。 但它有一些“少数”公共方法需要来自“更高级别”程序集的类,我们希望避免使用CIRCULAR。 您对此有何建议?

2 个答案:

答案 0 :(得分:4)

避免此类事情的一种典型方法是创建一个不依赖于任何东西的界面。然后BigApp和LibA都可以依赖于接口。 BigApp可以提供接口的具体实现,然后在使用它之前将该对象传递给LibA。

答案 1 :(得分:2)

根据您的具体情况,您可以定义接口以抽象一个或多个类的某些功能。然后,您可以引用您认为可能会导致循环依赖的接口。