温莎城堡和作为工厂创建实例

时间:2011-03-24 14:07:53

标签: .net dependency-injection castle-windsor

我需要获取一个对象的N个实例,直到运行时我才会知道N但是我也试图避免在我自己的代码中进行任何容器调用。

在春天你会做以下事情......

  1. 使用CreateFoo()等方法创建一个接口(我们称之为IFactory);
  2. 向Spring注册IFactory接口,但进行了配置,以便它知道将其视为工厂。
  3. 在你的课堂上询问IFactory当然会为你提供春天。
  4. 在IFactory上调用CreateFoo()。 Spring将截取你的调用并为你创建一个Foo实例。
  5. 有人知道温莎是否可能这样做以及我将如何做到这一点?或甚至某种方式来实现我的目标(获得N个实例而不直接与容器对话)。

    谢谢!

1 个答案:

答案 0 :(得分:6)

是的,Castle Windsor有Typed Factory Facility来解决这个问题。