java - 可以将类实现与接口硬耦合吗?
问题描述
我试图理解其他人的代码,但我在实现中看到了一些关于如何创建构建器的非常奇怪的东西。这个设计好不好?
public interface Car {
static Builder createBuilder() {
return new CarImpl.Builder();
}
interface Builder {
/// Setters contract
}
}
解决方案
通常不,您的接口应该定义一个类的行为(函数的签名),例如在“汽车”中公开诸如驱动、停止、加油等功能。
你的接口不应该知道实现细节。这是接口背后的想法——它抽象了实现细节,因此它们被封装在负责实现的任何层中,这使您的接口保持干净,只暴露什么而不是如何。
推荐阅读
- java - 添加 firebase 与 google play 服务冲突
- java - Spring Boot Maven Plugin 和 requiresUnpack 目标目录
- javascript - 如何限制在 D3.js 中显示的刻度数?
- javascript - 根据深度记录的 JSON 对象树控制台 [平面 JS]
- javascript - Github API 打卡数据转换
- mysql - 将 mySQL 表连接到自身以交叉检查结果?
- node.js - AWS Lambda递归,不能成功做对
- cmake - cmake 检测 target_link_libraries 中列出的未知目标
- python - 迭代dict RDD并将值分配给数据框列
- hyperledger-fabric - Node.js 或 Go 用于 Hyperledger Fabric 的链码开发?