1

正如标题所说,我已经在我的应用程序中使用了谷歌地图,我也想在 Kindle 设备的情况下使用亚马逊地图。AM 和 GM v1 在技术上使用相同的接口。我怎样才能很好地解决这个问题,取决于我使用的设备,我为每个班级获得了适当的班级类型(例如 com.google.android.maps.MapView 或 com.amazon.geo.maps.MapView)?

因此,假设我需要根据我的设备使用适当版本的 MapView 类,因为我想构造一个 MapView 对象。正如我所说,AM 和 GM 具有相同的类和方法,但它们没有实现通用接口,但这阻止了我使用我认为的工厂。

编辑:

我希望我不必 if(gmaps) { 对 gmaps 对象做某事} else if (amaps) { 对 amaps 对象做同样的事情}

正如我所说的,我认为这两个 API 具有相同的类、方法和所有内容,但它们实际上并没有实现一个通用接口,这让我很难想出一个好的解决方案。你怎么看?

提前致谢!

4

1 回答 1

0

您正在寻找一种名为Proxy的设计模式

但 Amazon Maps API 看起来像是在模仿 Google Maps v1,而不是更好的 v2。

于 2013-09-27T12:45:22.607 回答