如何将一个class的实现委托给Java中的另一个class?
How to delegate the implementation of one class in other class in Java?
我正在尝试重构 util java class A(例如)。它由所有静态方法组成,但是有很多方法,所以我提取了几个相互独立的方法并创建了一个助手 class B(代码质量分析工具抱怨这个 class) 现在,我不知道如何使 class B 向后兼容?
我被要求在 Class A 中创建一个 "method" 并在其中委托 Class B 的实现。我不明白如何做到这一点。
我知道我们可以通过接口和 java 中的其他设计模式实现委托。不过这些class确实不复杂。
那么如何通过创建一个方法来完成呢?
public class A{
public static doSomething1();
public static doSomething2();
public static doSomething3();
}
public class B{
public static doSomethingElse1();
public static doSomethingElse2();
public static doSomethingElse3();
}
这就是适配器模式,非常简单。在 class A
:
中创建一个方法
class A {
...
public static doSomethingElse1() {
B.doSomethingElse1();
}
}
这只是在 class B
.
中调用相同的方法
虽然这回答了你的问题,但对你帮助不大。最好的做法是尝试完全删除这些实用程序 classes,进行更面向对象的设计,但没有更多细节,很难说是否可行。
我正在尝试重构 util java class A(例如)。它由所有静态方法组成,但是有很多方法,所以我提取了几个相互独立的方法并创建了一个助手 class B(代码质量分析工具抱怨这个 class) 现在,我不知道如何使 class B 向后兼容? 我被要求在 Class A 中创建一个 "method" 并在其中委托 Class B 的实现。我不明白如何做到这一点。 我知道我们可以通过接口和 java 中的其他设计模式实现委托。不过这些class确实不复杂。
那么如何通过创建一个方法来完成呢?
public class A{
public static doSomething1();
public static doSomething2();
public static doSomething3();
}
public class B{
public static doSomethingElse1();
public static doSomethingElse2();
public static doSomethingElse3();
}
这就是适配器模式,非常简单。在 class A
:
class A {
...
public static doSomethingElse1() {
B.doSomethingElse1();
}
}
这只是在 class B
.
虽然这回答了你的问题,但对你帮助不大。最好的做法是尝试完全删除这些实用程序 classes,进行更面向对象的设计,但没有更多细节,很难说是否可行。