【发布时间】:2015-12-13 14:16:03
【问题描述】:
我有一个界面:
interface DataExtractor {
public function extractData($dataSource);
}
我最终只有一个具体的例子,它的通用性足以满足我所有的需求。
因此,我对具体类的命名存在疑问,这导致我问这是否是代码异味,我实际上不应该首先拥有接口。
- 默认数据提取器
- BaseDataExtractor
- 将接口更改为 iDataExtractor 并将具体类更改为 DataExtractor
这些似乎都错了
【问题讨论】:
-
离开接口,它可用于单元测试的模拟目的,也可用于依赖注入。通常最好编码到抽象而不是具体。
-
因此,你会如何命名具体类?
-
我将调用接口 IDataExtractor,因为这是接口的命名约定并调用类 DataExtractor。
-
投反对票,因为“这个问题没有显示任何研究工作。”谷歌搜索提供了大量关于界面宗教辩论的示例,包括关于 SO 和 programmers.stackexchange 的多个示例。