Я пытаюсь сделать преобразование из одной сторонней библиотеки в другую (gwt-ext
в gxt
). Чтобы минимизировать авансовые изменения и обеспечить согласованность и тестируемость, мы решили создать прокси-классы, которые реализуют старый API и сопоставляют их с новым API.
Например, что-то вроде Panel
теперь может быть ContentPanel
. Старая панель могла иметь метод с именем setEl(String name)
, который теперь должен отображаться на setElement(String name)
. Чтобы облегчить это, мы создали класс Panel
, который содержит ContentPanel
. Затем в Eclipse мы вызвали Source -> Generate Delegate Methods...
, чтобы создать методы, которые могли бы иметь оба API. Затем любые отсутствующие или измененные API, которые мы создали, имели в нашем классе Panel
и передавались соответствующему обработчику в нашем ContentPanel
. Когда мы закончим с этим, мы хотим провести рефакторинг нашего класса (в основном, Inlining) и сделать так, чтобы все вызывали методы непосредственно из ContentPanel и использовали любую магию, которую мы делали, вне реализуемых методов в каждом месте, где был вызван старый метод. ,
Каков наилучший способ сделать это? Я думал, что в Eclipse уже есть рефакторинг, который мог бы справиться с этим, но я не могу его найти.
Конечно, если вы думаете, что есть лучший способ выполнить такую миграцию, я также открыт для предложений по этому вопросу.