国产性生交xxxxx免费-国产中文字幕-啊灬啊灬啊灬快灬高潮了,亚洲国产午夜精品理论片在线播放 ,亚洲欧洲日本无在线码,色爽交视频免费观看

鍋爐信息網 > 鍋爐知識 > 鍋爐學習

C語言工廠模式

發布時間:

最近看涂鴉的代碼的時候,發現里面有很多這類的作用,周末有時間,就來說說工廠模式。比如我們在調試外設設備的時候,如果用到工廠模式,會

最近看涂鴉的代碼的時候,發現里面有很多這類的作用,周末有時間,就來說說工廠模式。

比如我們在調試外設設備的時候,如果用到工廠模式,會非常有利我們的代碼構建。

比如,我們需要調試兩款觸摸屏設備匯頂和墩泰

void gt_init(void)n{n}nnint gt_open(void)n{nn}nint gt_get_point(void)n{nn}


然后如果是敦泰的觸摸屏

void ft_init(void)n{n}nnint ft_open(void)n{nn}nint ft_get_point(void)n{nn}


使用的時候會這樣

int point;nft_init();nft_open();ngt_init();ngt_open();nwhile(true){npoint = ft_get_point();npoint = gt_get_point();n}


那如果我們每次換一個觸摸屏芯片廠家,這些初始化的東西,調用的位置,都需要修改,這是非常麻煩的。有沒有什么辦法實現一些統一呢?

這就是我們標題說的工廠模式。

我們給觸摸屏的方法做統一,如果后面的觸摸屏驅動實現了這樣的方法,在調用的時候就會去執行。

/*ntouch_factory.hnCopyright(C),2022n*/ntypedef struct touch_screen {n char *name;n void (*init)(void);n void (*open)(void);n int (*get_point)();n} * touch_screen_t;nntouch_screen_t touch_screen_factory(char *name);

返回句柄實現

/*ntouch_factory.cnCopyright(C),2022n*/nstruct touch_screen touch_screen_list[] ={n {"goodix", gt_init, gt_open, gt_get_point},n {"ftt", ft_init, ft_open, ft_get_point},n};nntouch_screen_t touch_screen_factory(char *name) {n int i;nn for (i = 0; i < sizeof(touch_screen_list) / sizeof(touch_screen_list[0]); i++)n {n if (0 == strcmp(name, touch_screen_list[i].name))n {n touch_screen_list[i].init();n touch_screen_list[i].open();n return &touch_screen_list[i];n }n }nn return NULL;n}


調用的地方

/*nmain.cnCopyright(C),2022n*/n#include "touch_factory.h"nnint main(void)n{n touch_screen_t ft_touch= touch_screen_factory("ft");n touch_screen_t gt_touch= touch_screen_factory("goodix");nn ft_touch->init();n ft_touch->open();n ft_touch->get_point();n gt_touch->init();n gt_touch->open();n gt_touch->get_point();n}


這就是我所理解的工廠模式了

但是在C++上實現就會相對簡單,C++有父類和純虛函數,把方法定義成純虛函數,子類繼承父類并重載純虛函數的方法,就達到了我們想要的目的了。

精選推薦

  • 催化燃燒設備供應商
    催化燃燒設備供應商

    催化燃燒設備供應商,催化燃燒處理裝置廠家,本裝置是采用廢氣先進入噴淋塔過濾——干式過濾—-蜂窩活性碳吸附—脫附再生——催化燃

  • 該不該有模具供應商
    該不該有模具供應商

    今天紅姐又來跟我探討供應商的管理問題了。故事是這樣的:供應商來料不良,原因是模具問題。而那個模具是我們找的一家模具供應商做的

  • 什么牌子高壓鍋好,高壓鍋哪個牌子好,高壓鍋什么牌子好,高壓鍋哪個品牌好
    什么牌子高壓鍋好,高壓鍋哪個牌子好,高

    1蘇泊爾 雙重安全閥門 高壓鍋雙重安全閥,防燙把手,復合底。這款高壓鍋擁有雙重安全閥門,更好的保證使用安全。搭載防燙傷把手,方便起

  • 高壓鍋啥牌子好,高壓鍋哪個牌子的好,什么高壓鍋牌子好,高壓鍋推薦選購指南
    高壓鍋啥牌子好,高壓鍋哪個牌子的好,什

    1、雙喜階梯型復底高壓鍋推薦理由:高壓鍋滿足上蒸下煮,飯菜同時進行,方便快速,有效提升烹飪效率。多重安全防護,安全系數較高,家人使用

0