代码之家  ›  专栏  ›  技术社区  ›  Phil Sandler

Castle Windsor是否具有类似于StructureMap的ObjectFactory的静态类?

  •  0
  • Phil Sandler  · 技术社区  · 14 年前

    我目前正在从建筑地图转移到温莎城堡。

    使用structuremap,您可以在一个中心位置引导框架,然后在代码的任何位置调用objectfactory.getinstance以使用该配置获取实例。所以从概念上讲,有一个容器是您配置的,并且对对象工厂的调用使用该容器。

    在我为温莎所看到的教程中,总是显式地创建容器实例,并且通过该容器的实例进行解析。这只是两个框架在方法上的区别吗?

    假设是这样的话,在需要与配置分开进行解决的情况下,建议的处理方法是什么?

    (理想情况下,可以在配置代码之后进行单个resolve()调用,并且不存在对容器的其他引用;但是,在某些情况下,这是不可能的,例如使用旧代码库时。)

    3 回复  |  直到 7 年前
        1
  •  3
  •   user247702    7 年前

    不,不是。不会的。如果你从结构图到温莎城堡, read this .

    回复:如何在没有静态定位器的情况下在以后的点进行牵引 see this .

        2
  •  1
  •   Joshua Flanagan    14 年前

    我不熟悉温莎,但如果它还没有自己的静态门面类,那么创建自己的门面类应该是微不足道的。使用保存已配置容器的静态属性创建静态类。添加从该容器解析实例的静态方法。这正是ObjectFactory所做的。structuremap有一个容器对象来完成所有真正的工作-objectfactory只是一个方便的包装器。

        3
  •  0
  •   Mauricio Scheffer    14 年前

    如果你真的需要这个,用 CommonServiceLocator . 它有到所有主要IOC容器的适配器。