更新时间:2024-04-12 GMT+08:00
分享

删除中间人

通过此重构,您可以将对类中的委托方法的调用替换为直接对委托字段的等效调用。您还可以删除委托方法,这些方法在重构后将不再使用。

执行重构

  1. 在代码编辑器中,将光标放置在其声明中委托字段的名称上。
  2. 在主菜单或编辑器上下文菜单中,选择Refactor>Remove Middleman
  3. 在打开的Remove Middleman对话框中,选择要内联的委托方法。要删除方法,请选中该方法旁边的复选框。

  4. 单击Refactor 以应用重构。

示例

例如,让我们从类InnerClass中删除print委托方法,将其替换为对委托字段nextClass的调用。

重构前

class Middleman {

    public static void main(String[] args) {
        InnerClass innerClass = new InnerClass();
        innerClass.print();
    }

    private static class InnerClass {
        private final NextClass nextClass = new NextClass();

        public void print() {
            nextClass.print();
        }
    }

    private static class NextClass {
        public void print() {
            System.out.println("Hello World!");
        }
    }
}

重构后

class Middleman {

    public static void main(String[] args) {
        InnerClass innerClass = new InnerClass();
        innerClass.getNextClass().print();
    }

    private static class InnerClass {
        private final NextClass nextClass = new NextClass();

        public NextClass getNextClass() {
            return nextClass;
        }
    }

    private static class NextClass {
        public void print() {
            System.out.println("Hello World!");
        }
    }
}

相关文档