接口和面向接口编程
接口和面向接口编程
定义
面向接口编程并不是面向实现编程,更多的是抽象接口和实现之间的契约表达
含义
- 第一种是常说的比如,一个库或者模块对外提供了 XX API 接口,通过主动暴露的接口来通信,可以隐藏软件系统的内部工作细节
- 第二种接口是一些语言提供的关键字,比如 TS 的 interface ,interface 关键字可以产生一个完全抽象的类型接口,这个完全抽象的类型接口表示一种契约,专门负责建立接口与对象、类之间的联系
- 第三种接口即是“面向接口编程”中的接口,接口的含义在这体现的更抽象,用《设计模式》中的话说就是:
“接口是对象能响应的请求的集合”
向上转型
静态类型语言通常设计为 “向上转型”,当给一个类变量赋值时,这个变量的类型即可以使用这个类本身,也可以使用这个类的超类,就像看到填上有只麻雀,我们即可说“一只麻雀在飞”,也可以说 “一只鸟在飞”,甚至可以说 “一只动物在飞”,通过向上转型,对象的具体类型被隐藏在 “超类型”身后,当对象类型之间的耦合关系被解除之后,这些对象才能在类型检查系统的监视下相互替换使用,这样才能看到对象的多态性
接口和面向接口编程
http://blog.climbed.online/2023/11/24/Web -- Knowledge is infinite/编程思想/设计原则和编程技巧/接口和面向接口编程/