1

我有3个项目。

  1
 / \   - inheritance
2   3

1 个项目有 ObjectFactory.Initialize... 我有 1 个接口和两个实现。我想为 2 和 3 个项目使用两种不同的实现。我应该怎么做?可以使用 StructureMap 吗?

4

2 回答 2

1

StructureMap 不是这里的限制因素。您的 2 个接口实现存在于哪些项目中?

如果它们在项目 2 和 3 中,那么您需要在项目 2 和 3 中执行 ObjectFactory.Initialize,您知道要使用哪个接口实现。

如果它们在项目 1 中,您可以在项目 1 中创建两个新类,以项目 2 和 3 所需的方式初始化容器,然后确保为每个项目使用正确的类。

在这两种情况下,您需要两种不同的方法来构建容器以支持最终结果,在您的情况下是项目 2 和 3。

于 2012-11-20T18:20:02.537 回答
1

找到解决方案。在基础项目中,我应该初始化:

ObjectFactory.Initialize(x => x...)

但在依赖项目中,我应该在基础项目初始化后进行配置:

ObjectFactory.Configure(x => x...)
于 2012-11-22T16:01:32.383 回答