Castle Windsor Typed Factory Facility等同物

dev*_*tal 7 castle-windsor ninject unity-container autofac abstract-factory

任何其他.NET IoC容器都能为Castle Windsor的类型化工厂提供相同的功能吗?

例如,如果我在WPF应用程序中使用抽象工厂模式:

public class MyViewModel
{
   private IAnotherViewModelFactory factory;

   public void ShowAnotherViewModel()
   {
      viewController.ShowView(factory.GetAnotherViewModel());
   }
}
Run Code Online (Sandbox Code Playgroud)

我不想为我希望展示的每种类型的ViewModel创建IAnotherViewModelFactory的手动实现,我希望容器能够为我处理这个问题.

Mar*_*ann 6

AutoFac有一个名为Delegate Factories的功能,但据我所知,它只适用于代理,而不适用于接口.

我没有在StructureMap和Unity中遇到类似Castle的Typed Factory Facility,但这并不一定意味着他们不在那里......


我可以想象这样的东西可以通过动态代理实现接口的唯一方式.由于Castle Windsor有一个动态代理,但很少有其他容器有类似的东西,这可能有很长的路要说明为什么这个功能无处不在.

Unity还提供拦截功能,因此它必须具有某种动态代理实现,但我很确定它没有任何与Typed Factories相同的功能.与其他容器相比,Unity相当基本.

  • 或者只是坚持温莎 (6认同)