26種設計模式總結?介紹:工廠模式是一種創建型設計模式,同時也是一種比較典型的解耦模式,工廠模式的實質其實就是" 定義一個生産的接口,讓客戶來決定具體生産什麼産品 ",現在小編就來說說關于26種設計模式總結?下面内容希望能幫助到你,我們來一起看看吧!
介紹:
工廠模式是一種創建型設計模式,同時也是一種比較典型的解耦模式,工廠模式的實質其實就是" 定義一個生産的接口,讓客戶來決定具體生産什麼産品 "。
作用:
類比:
一個衣服工廠可以根據不同的訴求生産出不同面料的衣服,客戶隻需要告訴工廠要生産什麼面料的衣服就可以,具體生産過程是工廠自己的事情;
代碼示例:
typedef enum
{
COTTON,
LEATHER,
FABRIC_MAX,
};
typedef struct _Clothing
{
int fabric; /*面料*/
void (*make_Clothing)(void);
}Clothing;
void cotton_clothes(void)
{
printf("Make cotton clothes\r\n");
}
void leather_clothes(void)
{
printf("Make leather clothes\r\n");
}
Clothing* manufacture_clothing(int fabric)
{
assert(fabric < FABRIC_MAX);
Clothing* pClothing = (Clothing*)malloc(sizeof(Clothing));
assert(NULL != pClothing);
memset(pClothing, 0, sizeof(Clothing));
pClothing->fabric = fabric;
switch(fabric)
{
case COTTON:
pClothing->make_clothing = cotton_clothes;
break;
case LEATHER:
pClothing->make_clothing = leather_clothes;
break;
}
return pClothing;
}
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!