代码之家  ›  专栏  ›  技术社区  ›  lomaxx

Spring.NETIOC和魔术弦

  •  2
  • lomaxx  · 技术社区  · 17 年前

    我一直在考虑iaapplicationContext.GetObject(字符串名称)方法,它似乎相当依赖于魔术字符串从应用程序上下文中获取对象。其他容器,如 StructureMap 您可以使用泛型来指定配置和请求对象,但是有没有比使用Spring.Net IoC容器中的字符串从ApplicationContext请求对象更好的方法?

    2 回复  |  直到 17 年前
        1
  •  2
  •   tobsen    16 年前

    弹簧支撑弹簧 CommonServiceLocator adapter . 此接口具有 the API 您需要并且还可以根据公共服务定位器进行编译,这样您就可以在不修改现有代码的情况下切换IoC容器。

        2
  •  0
  •   JimGoods    17 年前

    您可以调用一个包装器,它接受一个泛型类型参数。

    public void MyMethod()
    {
        IMyService myService = ApplicationContextWrapper.Resolve<IMyService>();
    }
    
    
    public static class ApplicationContextWrapper
    {
        public static T Resolve<T>()
        {
            return ApplicationContext.Resolve<T>(typeof(T).Name);
        }
    }
    

    虽然不如其他一些IoC控制器好,但至少你会得到某种编译器支持。