久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
設計模式----簡單工廠模式----C實例
[打印本頁]
作者:
liuda
時間:
2015-1-23 18:55
標題:
設計模式----簡單工廠模式----C實例
#include "stdlib.h"
//父類
typedef struct _milk milk;
typedef int (*creat_milk_tea)(milk *milk);
struct _milk
{
char *milk_tea_type;
int (* creat_milk_tea)(struct _milk *milk);
};
//產品類-----pearl-milk-tea
struct pearl_milk
{
struct _milk milk;
int (*delete_pearl_milk)(struct pearl_milk *pearl_milk);
int (*creat_pearl_milk)(struct pearl_milk *pearl_milk);
};
int delete_milk_pearl(struct pearl_milk *pearl_milk)
{
free(pearl_milk);
return 0;
}
int creat_milk_pearl_tea(struct pearl_milk *pearl_milk)
{
printf("Hi, preal milk is ready!\n");
return 0;
}
struct pearl_milk *creat_pearl_milk(void)
{
struct pearl_milk *pearl_milk = NULL;
pearl_milk = malloc(sizeof(struct pearl_milk));
if(NULL == pearl_milk)return NULL;
pearl_milk->delete_pearl_milk = delete_milk_pearl;
pearl_milk->creat_pearl_milk = creat_milk_pearl_tea;
pearl_milk->milk.creat_milk_tea = (creat_milk_tea)pearl_milk->creat_pearl_milk;
return pearl_milk;
}
//工廠類
struct factory
{
int (*delete_factory)(struct factory *fac);
struct factory *(*creat_factory)(char *milk_tea_type);
};
int delete_milk_factory(struct factory *fac)
{
free(fac);
return 0;
}
milk *creat_milk_factory(char *type)
{
milk *milk = NULL;
if(0 == strcmp("pearl", type))
{
milk = creat_pearl_milk();
}
else
{
printf("Sorry! no %s milk tea\n", type);
}
return milk;
}
struct factory *creak_factory(void)
{
struct factory *fac = malloc(sizeof(struct factory));
if(NULL == fac)return NULL;
fac->delete_factory = delete_milk_factory;
fac->creat_factory = creat_milk_factory;
return fac;
}
int main(int agrc, char *argv[])
{
struct factory *fac = NULL;
milk *sale_milk = NULL;
fac = creak_factory();
if(NULL == fac)return 1;
sale_milk = fac->creat_factory(argv[1]);
if(NULL == sale_milk)return 1;
sale_milk->creat_milk_tea(sale_milk);
fac->delete_factory(fac);
free(sale_milk);
return 0;
}
作者:
liuda
時間:
2015-1-23 18:55
近期會有一系列的關于設計模式的筆記出來.
http://dong.hongjun888.blog.163. ... 084200892672212217/
很好的解釋了簡單工廠模式.簡單來講一個工廠類就是根據傳入的參量使用相應的產品類,這里面的產品類是實現產品的實例,也可以理解為算法。
http://blog.csdn.net/sx_wpc/article/details/7645062
用C實現了簡單工廠模式.
總之,簡單工廠模式一般可由三部分組成:
1. 工廠類: 核心, 會依據客戶端的需求來調用產品類來創建產品
2. 抽象類: 擔任父類的角色, 也就說工廠所有的產品都有的屬性
3. 產品類: 工廠各個產品的實例
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
日韩国产一区二区三区
|
国产91色在线 | 亚洲
|
亚洲精品亚洲人成人网
|
日韩视频中文字幕
|
亚洲精品一区二区三区中文字幕
|
欧美三级视频在线观看
|
日韩欧美国产一区二区三区
|
久亚州在线播放
|
黄网站在线播放
|
操视频网站
|
国产一区二区三区在线
|
亚洲在线电影
|
久久精品国产一区二区电影
|
精品自拍视频
|
免费观看色
|
韩国成人在线视频
|
久久久久久久久久毛片
|
国产999精品久久久 精品三级在线观看
|
狠狠操狠狠操
|
japanhdxxxx裸体
|
午夜精品久久久久久久星辰影院
|
91久久久久
|
狠狠干在线
|
日韩av第一页
|
天堂一区
|
在线观看免费av片
|
a国产一区二区免费入口
|
国产精品久久久久久婷婷天堂
|
www国产成人免费观看视频,深夜成人网
|
午夜不卡福利视频
|
欧美成人精品欧美一级
|
成在线人视频免费视频
|
天天操操
|
天天操伊人
|
久热爱
|
精品美女
|
日韩欧美亚洲综合
|
国产精品久久久久一区二区三区
|
中文字幕不卡视频在线观看
|
日韩在线观看中文字幕
|
日韩精品一区二
|