JSRUN 用代码说话

重构:删除中间人

编辑教程

重构:删除中间人

此重构也可从 UML 类图中获得。

通过 "删除中间人" 重构,您可以替换在类中委托方法的所有调用,并直接对委托到的字段进行等效调用。此外,您还可以自动删除类委托方法,现在将不使用。

如果您有一个简单地将其许多方法调用转发给其他类的对象的类,并且希望简化您的设计,则此重构非常有用。

删除中间人示例

操作前:

public class Foo {
    Bar bar;
    public Foo getImpValue() {
        return bar.getImpValue();
    }
}

public class Bar {
    private Foo impValue1;
    public Bar(Foo impValue) {
        impValue1 = impValue;
    }
    public Foo getImpValue() {
        return impValue1;
    }
}

public class Client {
   Foo a;
   Foo impValue = a.getImpValue();
}

操作后:

public class Foo {
    Bar bar;
    public Bar getbar() {
        return bar;
    }
}

public class Bar {
    private Foo impValue1;
    public Bar(Foo impValue) {
        impValue1 = impValue;
    }
    public Foo getImpValue(){
        return impValue1;
    }
}

public class Client {
   Foo a;
   Foo impValue = a.getbar().getImpValue();
}

删除中间人

在编辑器中打开有问题的类,并将插入符号放在委托字段的名称中。或者,在所需类的“结构”视图中选择委托字段。
在主菜单或选择的上下文菜单上选择:重构丨 删除中间人(Refactor 丨 Remove Middleman)。
在删除中间人对话框中:
选择是否希望任何只转发到此字段的调用的方法都被委派。这些方法将不被当前项目中的代码使用,但是项目之外的代码仍然可能需要这些方法。您可能希望保留这些委托方法以实现向后兼容。
单击 "预览" 以使 IntelliJ IDEA 搜索所选字段的用法,并在 "查找" 工具窗口中显示重构预览结果。在预览中,您可以将其用于重构或跳过它们。单击 "执行重构" 以将重构应用于所选的用法。
如果您不想查看使用情况,请单击 "重构"。在这种情况下,将立即更改使用实例。
如果受影响的文件是只读的,则可能会显示 "重构预览" 窗口。
JSRUN闪电教程系统是国内最先开创的教程维护系统, 所有工程师都可以参与共同维护的闪电教程,让知识的积累变得统一完整、自成体系。 大家可以一起参与进共编,让零散的知识点帮助更多的人。
X
支付宝
9.99
无法付款,请点击这里
金额: 0
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
如有疑问请联系QQ:565830900
正在生成二维码, 此过程可能需要15秒钟