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

使用依赖注入来决定在运行时创建哪个实现

  •  1
  • caltuntas  · 技术社区  · 15 年前

    public class MapFactory implements IMapFactory
    {
        public IMapEngine createInstance(MapType type)
        {
           if(type==MapType.MapXtreme)
              return new MapXtremeEngine();
           else if(type==MapType.VirtualEarth)
              return new VirtualEarth();
           //....other code
        }
    }
    

    我可以使用依赖注入框架在运行时按类型参数创建合适的映射引擎实现吗?

    1 回复  |  直到 15 年前
        1
  •  2
  •   Bryan Watts    15 年前

    您的示例是条件实例化对象的正确模式。在任何需要创建实例的地方,接受 IMapFactory 在构造器中。

    动物工厂

    推荐文章