我编写了一个 Eclipse 插件,它依赖于另一个插件的 1.0 版(我们称之为 WidgetMaster)。现在,WidgetMaster 2.0 版已经发布,对我使用的许多类进行了界面更改。如何在支持两个版本的 WidgetMaster 的同时继续维护我的插件的一个版本?
到目前为止,我想出的是:
- 为 WidgetMaster 提供的所有功能创建我自己的界面。这意味着我还必须为我使用的所有类型创建包装器,这很多。
- 对于每个受支持的 WidgetMaster 版本,创建一个 Fragment 项目,该项目根据该版本的 API 实现我的接口和所有包装类。
这将是大量的工作,因为我目前在我的插件代码中使用 WidgetMaster 类。如果我只依赖 Fragment 项目中特定版本的 WidgetMaster,我将不得不移动和包装所有这些。此外,99% 的包装器在不同版本之间都是相同的,但我仍然必须将它们复制到每个片段。
这是正确的方法还是有更好的方法来处理这种情况?