这是一个非常简单的设计模式,只是提供一下在C语言环境的实现方式。
当某种功能或接口需要在不同平台或存在多种实现方式时,就可以使用这种模式。但需要注意的时在一个工程中只使用其中一种实现方式,即在软件运行时不会同时使用多种方式。
- 多个芯片的驱动使用相同接口
- 对某个处理的多种算法实现
例如以下实现,使用_h/_c代表.h/.c文件
将需要实现的接口声明及接口的实现要求定义在该头文件中,头文件就成为了一个模板定义。在不同平台实现时按照头文件要求实现相应的函数。
在工程中include同一路径的c header文件,并根据目标平台编译不同的c source文件,即实现对应目标软件。