C語言和設計模式(工廠模式)

2021-06-07 21:08:57 字數 754 閱讀 5094

工廠模式是比較簡單,也是比較好用的一種方式。根本上說,工廠模式的目的就根據不同的要求輸出不同的產品。比如說吧,有乙個生產鞋子的工廠,它能生產皮鞋,也能生產膠鞋。如果用**設計,應該怎麼做呢?

[cpp]view plain

copy

typedef

struct

_shoe  

shoe;  

就像上面說的,現在有膠鞋,那也有皮鞋,我們該怎麼做呢?

[cpp]view plain

copy

void

print_leather_shoe(

struct

_shoe* pshoe)  

void

print_rubber_shoe(

struct

_shoe* pshoe)    

所以,對於乙個工廠來說,建立什麼樣的鞋子,就看我們輸入的引數是什麼?至於結果,那都是一樣的。

[cpp]view plain

copy

#define leather_type 0x01

#define rubber_type  0x02

shoe* manufacture_new_shoe(int

type)  

else

return

pshoe;  

}  

C語言和設計模式(工廠模式)

工廠模式是比較簡單,也是比較好用的一種方式。根本上說,工廠模式的目的就根據不同的要求輸出不同的產品。比如說吧,有乙個生產鞋子的工廠,它能生產皮鞋,也能生產膠鞋。如果用 設計,應該怎麼做呢?typedef struct shoe shoe 就像上面說的,現在有膠鞋,那也有皮鞋,我們該怎麼做呢?void...

C語言和設計模式(工廠模式)

工廠模式是比較簡單,也是比較好用的一種方式。根本上說,工廠模式的目的就根據不同的要求輸出不同的產品。比如說吧,有乙個生產鞋子的工廠,它能生產皮鞋,也能生產膠鞋。如果用 設計,應該怎麼做呢?typedef struct shoe shoe 就像上面說的,現在有膠鞋,那也有皮鞋,我們該怎麼做呢?void...

C語言和設計模式(抽象工廠模式)

前面我們寫過的工廠模式實際上是對產品的抽象。對於不同的使用者需求,我們可以給予不同的產品,而且這些產品的介面都是一致的。而抽象工廠呢?顧名思義,就是說我們的工廠是不一定的。怎麼理解呢,舉個例子。假設有兩個水果店都在賣水果,都賣蘋果和葡萄。其中乙個水果店買白蘋果和白葡萄,另外乙個水果店賣紅蘋果和紅葡萄...