2017-01-01 117 views
0

在这一刻,我有一个动态抽象工厂,其中存储了所有工厂的类Factory的单一实现。每个工厂都有自己的类型,可以创建实例。对参考文件的循环依赖

这些工厂也得到了我,以便从该项目(DLL)外注册类型已经创建了RegisterType梅索德。

我想从项目外注册一个类型。但为此,ProjectA和ProjectB必须了解彼此的信息。

所以我的问题是,和了projectA怎么项目B可以知道对方没有收到此错误“循环依赖的参考”。

回答

0

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

重读你的问题,我发布的链接是不相关的,因为你面对的2个项目。

对于大多数项目(网站,桌面,甚至大多数apis),您通常有一个项目是您的入口点,您的其他项目应包含相关的代码或基础结构代码,应该没有双向的2或更多)项目。

这可能是适合使用IoC框架,并注册你的依赖,你会做这可以说,项目A,并提供从项目B的工厂类型。

一定要抽象通过将这些工厂(以及其他类型)到项目B,其中实现位于从项目A时使用的接口,然后这些接口可以坐在项目B和不需要任何落后的依赖。