Я пишу настольное ГИС-приложение, и оно поддерживает MapXtreme, MS Virtual Earth и наш Custom Map Engine. Пользователи приложения могут изменять движок карты во время выполнения, выбирая из выпадающего списка. У меня есть класс Factory для изменения движка карты как это.
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
}
}
Можно ли использовать Dependency Injection Framework для создания подходящей реализации MapEngine во время выполнения по параметру типа?