如何解决循环依赖问题?

时间:2017-02-07 08:11:50

标签: c# architecture 3-tier

我有3个类库,例如:

  • ApplicationCore(主类库)
  • Application1(添加对ApplicationCore的引用)
  • Application2(添加对ApplicationCore的引用)
  • 我想在Application Core Class Library中使用Application 1功能而没有循环依赖问题。将Application1的功能实现到ApplicationCore的最佳实践是什么?

    2 个答案:

    答案 0 :(得分:2)

    将共享功能移至ApplicationCore或新的共享类库。

    答案 1 :(得分:0)

    另一种选择是接口和依赖注入(DI)。

    • 在MainClass库中创建一个接口。 (ApplicationCore)
    • 可能在ApplicationCore中有该接口的默认实现。
    • 在Application1中,设置DI以使用Application1的接口实现用户。

    在Application2中,它将使用默认实现。

    在Application1中,它将使用Application1的实现。