首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么是“基于接口的编程”?

什么是“基于接口的编程”?
EN

Stack Overflow用户
提问于 2009-12-05 01:25:45
回答 8查看 11.9K关注 0票数 21

我经常听到/读到关于基于接口的编程,但我不是很清楚那到底是什么意思。基于接口的编程是一个实际的独立主题吗,实际上已经有关于它的书籍了?如果是这样的话,有谁能推荐一些好的吗?

当我读到如何设计好的API时,我偶然发现了基于接口的编程,我想了解更多关于它的知识。现在,我不清楚如何正确地围绕接口来设计API。

任何信息都是非常感谢的。

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2009-12-05 01:32:12

基本上就是用接口而不是具体的类(或者更糟的是静态方法)来表达你的依赖关系。因此,如果您的某个类需要执行身份验证,那么应该为它提供一个IAuthenticator (或其他任何东西)。

这意味着:

  • 您可以在实现真正的依赖项之前编写代码
  • 您可以非常容易地通过模拟进行测试(不必模拟类,这会变得很丑陋)
  • 很清楚您依赖的是什么,而不是实现(即,您有更松散的耦合)
票数 33
EN

Stack Overflow用户

发布于 2009-12-05 01:32:49

"Practical API Design" by Jaroslav Tulach的第6章的标题是“针对接口的代码,而不是实现”。它解释说,通过针对接口而不是特定的实现进行编码,您可以解耦系统中的模块(或组件),从而提高系统质量。

Bertrand Meyer在OOSC2中清楚地解释了为什么“关闭”系统并使其更加模块化可以提高其质量。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1848442

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档