首页 > 解决方案 > 可以将类实现与接口硬耦合吗?

问题描述

我试图理解其他人的代码,但我在实现中看到了一些关于如何创建构建器的非常奇怪的东西。这个设计好不好?

public interface Car {
 static Builder createBuilder() {
     return new CarImpl.Builder();
 }
 interface Builder {
  /// Setters contract
 }
}

标签: javaoopbuilder

解决方案


通常不,您的接口应该定义一个类的行为(函数的签名),例如在“汽车”中公开诸如驱动、停止、加油等功能。

你的接口不应该知道实现细节。这是接口背后的想法——它抽象了实现细节,因此它们被封装在负责实现的任何层中,这使您的接口保持干净,只暴露什么而不是如何。


推荐阅读