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

Sha*_*lle 4 .net dependency-injection castle-windsor

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

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

  1. 用CreateFoo()方法创建一个接口(我们称之为IFactory);
  2. 使用Spring注册IFactory接口,但配置为使其知道将其视为工厂.
  3. 在你的课堂上要求IFactory当然会为你提供春天.
  4. 在IFactory上调用CreateFoo().Spring会截取你的调用并为你创建一个Foo实例.

有谁知道温莎是否可能这样做以及我将如何做呢?或甚至某种方式来实现我的目标(获得N个实例而不直接与容器对话).

谢谢!

Mar*_*ann 6

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