这是我们的依赖树:BigApp - >儿童应用 - >库
我们所有的组件都使用上面的Libraries(LibA)之一。 但它有一些“少数”公共方法需要来自“更高级别”程序集的类,我们希望避免使用CIRCULAR。 您对此有何建议?
答案 0 :(得分:4)
避免此类事情的一种典型方法是创建一个不依赖于任何东西的界面。然后BigApp和LibA都可以依赖于接口。 BigApp可以提供接口的具体实现,然后在使用它之前将该对象传递给LibA。
答案 1 :(得分:2)
根据您的具体情况,您可以定义接口以抽象一个或多个类的某些功能。然后,您可以引用您认为可能会导致循环依赖的接口。