跳到主要內容


程式語言概念-設計模式-工廠模式

設計模式
工廠模式

簡單分成三種,簡單工廠模式、工廠方法模式、抽象工廠模式,其主要目的是為管理物件生成,讓類似的物件,用同一類別生成,該類別就是工廠,我比較喜歡的說明是用Pizza工廠來說明,個人覺得比較好理解,生成工廠類別物件後,在執行生成的方法,去產生要的物件。

簡單工廠模式

其概念是建立一個類別來管理同類型的物件,而簡單工廠用字串辨別的方式來產生不同物件,缺點要知道定義了哪些字串,不然生成不出來。

工廠方法模式

其概念是建立一個類別來管理同類型的物件,而工廠方法用直接帶入物件類別的方式來產生不同物件,缺點要知道定義了哪些類別,不然生成不出來。

法二是我自己想的,直接從方法名稱上,說明是生產哪種類別的物件,在使用的時候,直接呼叫該類別的方法,即可生成蓋物件,缺點是每種物件生成的方法都不一樣,雖然在同一個類別。

抽象工廠模式

其概念是建立一個類別來管理同類型的工廠,每種工廠雖然都生產相似的東西,但因為其中一種參數不同可能讓生產出來的物件不相同,如產地不同,讓口味的pizza,在味道上作微調,台灣口味的pizza、日本口味的pizza,其概念只是工廠方法的衍生,工廠方法是生產物件,抽象工廠是生產工廠。

留言

這個網誌中的熱門文章

Python-資料庫-mongodb-pymongo

Python 資料庫 mongodb-pymongo 安裝: linux、mac:pip3 install pymongo windows: import pymongo client = pymongo.MongoClient("mongodb://localhost:27017/") db = client['demo_db'] col = db['demo_col'] dict1 = { "name": "ab123ab456g", "day": "1890-04-05" } result = col.insert_one(dict1)  dict2 = [   { "name": "ki", "day": "1666-1-1"},   { "name": "aa", "day": "1222-11-11"},   { "name": "gg-gg", "day": "1333-02-22"},   { "name": "T-T", "day": "1444-03-02"},   { "name": "f-f", "day": "1555-01-01"} ] result = col.insert_many(dict2) result = col.find_one() print(result) results = col.find() for result in col.find(): print(result) results = col.find() query = {'...

語言學習-English-Lights

Song Lyric Title : Lights Singer :Ellie Goulding Album :  Bright Lights Release Date :  2011 I had a way then losing it all on my own I had a heart then but the queen has been overthrown And I'm not sleeping now the dark is too hard to beat And I'm not keeping up the strength I need to push me You show the lights that stop me turn to stone You shine it when I'm alone And so I tell myself that I'll be strong And dreaming when they're gone 'Cause they're calling, calling, calling me home Calling, calling, calling home You show the lights that stop me turn to stone You shine them when I'm alone Noises, I play within my head Touch my own skin and hope they'll still be there And I think back to when my brother and my sister slept In and on my place the only time I feel safe You show the lights that stop me turn to stone You shine it when I'm alone And so I tell myself that I'...

程式語言學習概論(1)

程式語言 介紹