首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用依赖注入来决定在运行时创建哪个实现

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

Stack Overflow用户
提问于 2009-08-25 22:51:19
回答 1查看 180关注 0票数 1

我正在写一个桌面地理信息系统应用程序,它支持MapXtreme,MS虚拟地球,我们的自定义地图Engine.Users应用程序可以在运行时通过从下拉列表中选择来更改地图引擎。

代码语言:javascript
复制
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
    }
}

我可以使用依赖注入框架在运行时通过类型参数创建合适的MapEngine实现吗?

EN

回答 1

Stack Overflow用户

发布于 2009-08-28 04:01:13

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

DI框架应该做的最多的事情就是分发IMapFactory实例。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1331449

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档