簡單工廠模式 工廠方法模式和抽象工廠模式有何區別?

時間 2021-05-11 16:16:36

1樓:Hollis

簡單工廠 : 用來生產同一等級結構中的任意產品。(對於增加新的產品,主要是新增產品,就要修改工廠類。符合單一職責原則。不符合開放-封閉原則)

工廠方法 :用來生產同一等級結構中的固定產品。(支援增加任意產品,新增產品時不需要更改已有的工廠,需要增加該產品對應的工廠。

符合單一職責原則、符合開放-封閉原則。但是引入了複雜性)

抽象工廠 :用來生產不同產品族的全部產品。(增加新產品時,需要修改工廠,增加產品族時,需要增加工廠。符合單一職責原則,部分符合開放-封閉原則,降低了複雜性)

簡單工廠模式

工廠方法模式

抽象工廠模式

2樓:Allbet

部落格裡面有好好講,工廠模式的3種。https://blog.csdn.net/youngyouth/article/details/80183485可以看下,嘻嘻

3樓:田冬冬

從設計角度回答解釋應該是最專業的。但估計你不用的話,如果有人面試你的場景下,你可能就忘了其所以然了。所以建議從用途理解下,而不用關心uml和實現細節。

首先記住,他們的目的都是靠工廠生成物件。

簡單工廠:乙個工廠,生成各種不同class的物件。一般來說這些物件應該某一基類或介面關聯的,除非你牛就宣告返回Object。

工廠方法:多種工廠,按需選擇一工廠生成物件。這些工廠之間靠擁有同一介面方法關聯,所以叫「工廠方法」模式

抽象工廠:多種工廠協作,生成多種class關係不大的物件。常見的處理是把這些物件整體打包提供給你。

後兩者主要區別在乙個生成某一基類下的物件,另乙個可以根據不同基類生成物件,關注點在「不同基類」。

4樓:衍鋮

簡單工廠模式相當於是乙個工廠中有各種產品,建立在乙個類中,客戶無需知道具體產品的名稱,只需要知道產品類所對應的引數即可。但是工廠的職責過重,而且當型別過多時不利於系統的擴充套件維護。

工廠方法模式相當於在簡單工廠模式的基礎上增加乙個抽象工廠,在簡單工廠模式下如果增加乙個產品,要修改工廠類,不符合開閉原則。在工廠方法下,只需要增加具體工廠和具體產品即可。

抽象工廠,類似於乙個集團旗下生產的各種產品的工廠,這些產品是乙個產品族。是在工廠方法下的擴充套件。比如乙個產品的介面,可以通過直接改變具體工廠的例項來改變產品的介面風格。

從沒進過工廠,請問工廠工作輕鬆嗎?剛找的工廠工作要12小時,工廠工作氛圍是什麼樣子的 ?

小龍 重慶旭碩電子廠很好,正常工作8小時,不會強制加班每天上12個小時跑掉算我輸,請假不批怕你工作che螺絲技能熟練度下降,伙食很棒蟑螂加菜,阿姨會手抖技能,組長很和善,對你口吐芬芳,想離職可以,組長寫出入條,讓你開開心心自己走,重慶旭碩電子廠五星好評 要想深入了解我這裡還有更多爆料,高達數百人接受...

什麼是工廠函式?Python 中工廠函式怎麼理解?

lalaland python class mq object def init self,string c self.config str string cdef print str self print self.config str def crete factory method confi...

工廠大家為什麼不願意去工廠?

小跑的蝸牛 工廠環境差,待遇不好說。現在有點技術的藍領工資也不低。工廠可以去,但是要去更多的依賴人的技術的工廠,而不是只是機械化的操做機器 如果是那種,你無論做多少年都一樣。 1989 自問自答一下,如果是我的話,我會選擇去工廠。我之前一直搞不懂大家為什麼不願意去工廠,寧願去當服務員。後來看了大家的...