【发布时间】:2011-03-23 15:37:04
【问题描述】:
我正在尝试从一个第 3 方库转换到另一个库(gwt-ext 到 gxt)。为了帮助最大限度地减少前期更改并确保一致性和可测试性,我们决定创建代理类来实现旧 API 并将它们映射到新 API。
例如,Panel 之类的内容现在可能是 ContentPanel。旧的 Panel 可能有一个名为 setEl(String name) 的方法,现在应该映射到 setElement(String name)。为此,我们创建了一个包含ContentPanel 的Panel 类。然后在 Eclipse 中,我们调用 Source -> Generate Delegate Methods... 来创建两个 API 可能共有的方法。然后,我们创建的任何丢失或更改的 API 都包含在我们的 Panel 类中,并传递给我们包含的 ContentPanel 中的适当处理程序。完成此操作后,我们希望重构我们的类(基本上是内联)并让所有内容直接调用“ContentPanel”上的方法,并在调用旧方法的每个位置使用我们在手动实现的方法中所做的任何魔法.
最好的方法是什么?我认为 Eclipse 中已经有一个重构可以处理这个问题,但我没有找到它。
当然,如果您认为有更好的方法来进行这样的迁移,我也愿意就此提出建议。
【问题讨论】:
标签: java eclipse delegates refactoring migration