从 Java 接口上的接口调用另一个接口方法是否是一种不好的做法?



例如,我有一个如下接口:

interface Test  {
void a();
void b();
}
class TestImpl implements Test {
public void a() {
// Do something
}
public void b() {
// Do something
a();
}
}

我认为这是不好的做法。这是真的吗?或者对此有任何理论吗?

这种做法还不错。例如,检查以下用例。

interface Test  {
void bigTask();
void validateBigTask();
void performBigTask();
}

在这种情况下,您可以细分您的大任务以使其清晰易读。

这不是一个坏做法。 请看下面的例子:

interface Task {
boolean preConditionTask();
void executeTask();
boolean postConditionTask();
}
public class TaskImpl implements Task {
boolean preConditionTask() {
//Some logic.
}
boolean postConditionTask() {
//Some logic.
}
void executeTask() {
if (!preConditionTask()) {
//Log or throw.
}
//Some task logic.
if (!postConditionTask()) {
//Log or throw.
}
}
}

您有一个每个任务都必须实现的合同。 合约告诉实现者每个任务都有前、后和执行逻辑。

相关内容

最新更新