工厂方法模式的实质是“定义一个创建对象的接口,但让实现这个接口的类来决定实例化哪个类。__来自维基百科.
实现方法:
#include <stdio.h>
#include <stdlib.h>
typedef struct func_
{
char name;//命令名
void (*factory)(void);//命令函数指针
}func_t;
void factory_A(void){printf("AAA\n");}//函数实现A
void factory_B(void){printf("BBB\n");}//函数实现B
const func_t* func_sel(const char name)//匹配函数
{
func_t* Factory = (func_t*)malloc(sizeof(func_t));//为了顺利返回
if('A' == name)
{
Factory->name = 'A';//填充名字
Factory->factory = factory