知识卡片
接口隔离实现
内容
对象的公开接口定义了可协作的契约,实现细节则应被封装在对象内部。面向接口编程让调用者依赖稳定边界,而不是依赖某个类的偶然实现。发散:接口越像业务语言,系统越容易演进。
参考来源
- 位置:第1章《引言》1.6.4节「对接口编程,而不是对实现编程」(源文件:_epub-src/OEBPS/Text/part0017.xhtml)
- 结论依据:原文明确给出'针对接口编程,而不是针对实现编程'这一面向对象设计原则,说明客户无须知道对象的具体实现类,只需知道定义接口的抽象类,直接支持卡片对接口是可协作契约、实现应被封装的论述。
- 原始内容:"针对接口编程,而不是针对实现编程。不将变量声明为某个特定的具体类的实例对象,而是让它遵从抽象类所定义的接口。这是本书设计模式的一个常见主题……客户无须知道他们使用对象的特定类型,只需要知道对象有客户所期望的接口。"