什么是依赖倒置

依赖倒置能否理解为,一个库分为 interface 和 implementation。interface.h 只引用标准库,interface.cc 引用 implementation.h,implementation.h 引用 interface.h。对外提供 interface.h 接口,以及 interface.cc 和 implementation.cc 链接出来的库文件。

interface.h(接口)作为一个抽象层,它不依赖于特定的实现细节,只依赖于标准库。而 interface.cc(接口实现)和 implementation.h(实现)依赖于这个接口。这样,使用你的库的客户端代码只需要依赖于 interface.h,接口(interface.h)与实现(implementation.h 和 interface.cc)之间的依赖关系被隔离,更改实现不会影响到接口,也就不会影响到使用接口的客户端代码