针对接口编程 的疑惑,求教。解决办法

针对接口编程 的疑惑,求教。设计模式有一条很重要的:针对接口编程。疑问1:我的理解是一般针对DLL或者Lib一些

针对接口编程 的疑惑,求教。
设计模式有一条很重要的:针对接口编程。

疑问1:我的理解是一般针对DLL或者Lib一些大型模块才会用到,接口有通过继承(抽象基类)和函数指针2种形式。
但是如果只是对于简单的类, 类A,类B,A调用B的方法,这个时候是不是也要为B弄一个抽象基类呢?,如果都这样,那是不是要把全部类型的B类都添加 接口呢?,代码会不会变得很累赘?

疑问2: 应用层如何调用底层接口,比如类A里面直接调用了IFILE_GetInfo(),
#define IFILE_GetInfo(p, pi) GET_PVTBL(p,IFile)->GetInfo(p, pi) 获取手机指定路径的文件信息,
这样的话A是不是直接和底层有联系了? 这样是不是不符合针对接口编程? ,类A该怎样调用系统底层的接口呢,比如文件读写,视频音频接口等等。

[解决办法]
接口并不是说抽象基类,而是说你做的是一个模块,这个模块暴露给外面的就是几个接口,
这样方便写测试用例。
[解决办法]
设计模式中的接口跟JAVA中的接口是两回事.
设计模式中的接口不是指一个虚函数.而是指一种与外界的通信方式.可以是一个函数,一个类或类型,一个模板,一个变量等.