【发布时间】:2021-12-05 07:33:26
【问题描述】:
我试图理解其他人的代码,但我在实现中看到了一些关于如何创建构建器的非常奇怪的东西。这个设计好不好?
public interface Car {
static Builder createBuilder() {
return new CarImpl.Builder();
}
interface Builder {
/// Setters contract
}
}
【问题讨论】:
我试图理解其他人的代码,但我在实现中看到了一些关于如何创建构建器的非常奇怪的东西。这个设计好不好?
public interface Car {
static Builder createBuilder() {
return new CarImpl.Builder();
}
interface Builder {
/// Setters contract
}
}
【问题讨论】:
通常不,您的接口应该定义一个类的行为(函数的签名),例如在“汽车”中公开诸如驱动、停止、加油等功能。
您的界面不应该知道实现细节。 这就是接口背后的想法 - 它抽象出实现细节,因此它们被封装在负责实现的任何层中,这使您的接口保持干净,只暴露什么而不是如何。
【讨论】: