【问题标题】:Circular Dependency on References对引用的循环依赖
【发布时间】:2017-01-01 15:32:10
【问题描述】:

此时我有一个动态抽象工厂,它具有类 Factory 的单例实现,我存储所有工厂。每个工厂都有自己的类型,可以创建实例。

这些工厂还获得了我创建的 RegisterType 方法,以便从该项目 (DLL) 外部注册类型。

我想从项目外部注册一个类型。但为了做到这一点,ProjectA 和 projectB 必须知道彼此的信息。

所以我的问题是,projectA 和 projectB 如何在不出现“循环依赖引用”错误的情况下相互了解。

【问题讨论】:

    标签: dll reference dependencies


    【解决方案1】:

    This blog post from Steve Smith 我相信直接解决了你的问题。

    重新阅读您的问题,我发布的链接不相关,因为您正在处理 2 个项目。

    对于大多数项目(Web、桌面,甚至大多数 API),您通常都有一个项目作为您的入口点,您的其他项目应该包含依赖代码或基础架构代码,不应该有 2 个(或更多)项目。

    使用 IoC 框架并注册您的依赖项可能是合适的,您可以在 ProjectA 中执行此操作,并从 ProjectB 向您的工厂提供类型。

    在将这些工厂(和其他类型)传递到 ProjectA 中的实现所在的 ProjectB 时,请务必使用接口进行抽象,然后这些接口可以位于 ProjectB 中,不需要任何向后依赖。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-12
      相关资源
      最近更新 更多